Spree Seller SDK
import { createSellerClient } from '@spree/seller-sdk'
const client = createSellerClient({
baseUrl: 'https://your-store.com',
jwtToken: 'eyJhbGciOi...',
sellerId: 'sel_UkLWZg9DAJ',
})
const { data: orders, meta } = await client.orders.list({
fulfillment_status_eq: 'unfulfilled',
sort: '-completed_at',
limit: 25,
})curl --request GET \
--url http://{defaultHost}/api/v3/seller/orders \
--header 'Authorization: Bearer <token>' \
--header 'X-Spree-Seller-Id: <x-spree-seller-id>'{
"data": [
{
"id": "or_UkLWZg9DAJ",
"number": "R1001",
"customer_note": null,
"currency": "USD",
"total_quantity": 1,
"status": "placed",
"fulfillment_status": null,
"payment_status": null,
"completed_at": "2026-01-15T12:00:00.000Z",
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"internal_note": null,
"internal_note_html": null,
"item_total": "10.00",
"delivery_total": "100.00",
"discount_total": "0.00",
"adjustment_total": "0.00",
"included_tax_total": "0.00",
"additional_tax_total": "0.00",
"tax_total": "0.00",
"total": "110.00",
"payment_total": "0.00",
"amount_due": "110.00",
"commission_amount_total": "0.00",
"commission_tax_total": "0.00",
"commission_total": "0.00",
"canceled_at": null,
"cancel_reason_name": null,
"cancel_note": null,
"items": [
{
"id": "li_UkLWZg9DAJ",
"name": "Product 27095",
"options_text": "",
"quantity": 1,
"currency": "USD",
"price": "10.00",
"discounted_amount": "10.00",
"additional_tax_total": "0.00",
"total": "10.00",
"variant_id": "variant_UkLWZg9DAJ",
"sku": "SKU-356",
"thumbnail_url": null
}
],
"fulfillments": [
{
"id": "ful_UkLWZg9DAJ",
"number": "R1001-F1",
"status": "unfulfilled",
"tracking": "U10000",
"tracking_url": null,
"fulfilled_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"fulfillment_type": "shipping",
"delivery_method_name": "UPS Ground 146",
"stock_location_name": "Roseline Roberts",
"stock_location_id": "sloc_UkLWZg9DAJ",
"fulfillment_items": [
{
"id": "fi_UkLWZg9DAJ",
"quantity": 1,
"line_item_id": "li_UkLWZg9DAJ",
"variant_id": "variant_UkLWZg9DAJ",
"name": "Product 27095",
"sku": "SKU-356",
"options_text": ""
}
],
"selected_delivery_rate_id": "dr_gbHJdmfrXB",
"delivery_rates": [
{
"id": "dr_gbHJdmfrXB",
"name": "UPS Ground 146",
"selected": true,
"cost": "10.00",
"total": "10.00",
"carrier": null,
"service_level": null,
"estimated_delivery_date": null,
"unpriced": false
}
],
"deliveries": [
{
"id": "dlv_UkLWZg9DAJ",
"tracking_number": "U10000",
"carrier": null,
"carrier_name": null,
"service": null,
"status": "pending",
"tracking_url": null,
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"shipping_label_id": null
}
],
"labels": []
}
],
"shipping_address": {
"id": "addr_gbHJdmfrXB",
"label": null,
"first_name": "John",
"last_name": "Doe",
"full_name": "John Doe",
"address1": "282 Lovely Street",
"address2": "Northwest",
"postal_code": "10118",
"city": "New York",
"phone": "555-555-0199",
"company": "Company",
"country_name": "United States",
"country_code": "US",
"state_text": "NY",
"state_code": "NY",
"quick_checkout": false,
"is_default_billing": false,
"is_default_shipping": false,
"state_name": "New York"
},
"billing_address": {
"id": "addr_UkLWZg9DAJ",
"label": null,
"first_name": "John",
"last_name": "Doe",
"full_name": "John Doe",
"address1": "281 Lovely Street",
"address2": "Northwest",
"postal_code": "10118",
"city": "New York",
"phone": "555-555-0199",
"company": "Company",
"country_name": "United States",
"country_code": "US",
"state_text": "NY",
"state_code": "NY",
"quick_checkout": false,
"is_default_billing": false,
"is_default_shipping": false,
"state_name": "New York"
}
}
],
"meta": {
"page": 1,
"limit": 25,
"count": 1,
"pages": 1,
"from": 1,
"to": 1,
"in": 1,
"previous": null,
"next": null
}
}List orders
What this seller has sold.
On a marketplace a basket spanning several sellers is split into one order each, so these are the seller’s own orders rather than a filtered view of somebody else’s — another seller’s order is never reachable, whatever id is sent.
Checkouts still in flight are left out: until one completes it is nobody’s order.
GET
/
api
/
v3
/
seller
/
orders
Spree Seller SDK
import { createSellerClient } from '@spree/seller-sdk'
const client = createSellerClient({
baseUrl: 'https://your-store.com',
jwtToken: 'eyJhbGciOi...',
sellerId: 'sel_UkLWZg9DAJ',
})
const { data: orders, meta } = await client.orders.list({
fulfillment_status_eq: 'unfulfilled',
sort: '-completed_at',
limit: 25,
})curl --request GET \
--url http://{defaultHost}/api/v3/seller/orders \
--header 'Authorization: Bearer <token>' \
--header 'X-Spree-Seller-Id: <x-spree-seller-id>'{
"data": [
{
"id": "or_UkLWZg9DAJ",
"number": "R1001",
"customer_note": null,
"currency": "USD",
"total_quantity": 1,
"status": "placed",
"fulfillment_status": null,
"payment_status": null,
"completed_at": "2026-01-15T12:00:00.000Z",
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"internal_note": null,
"internal_note_html": null,
"item_total": "10.00",
"delivery_total": "100.00",
"discount_total": "0.00",
"adjustment_total": "0.00",
"included_tax_total": "0.00",
"additional_tax_total": "0.00",
"tax_total": "0.00",
"total": "110.00",
"payment_total": "0.00",
"amount_due": "110.00",
"commission_amount_total": "0.00",
"commission_tax_total": "0.00",
"commission_total": "0.00",
"canceled_at": null,
"cancel_reason_name": null,
"cancel_note": null,
"items": [
{
"id": "li_UkLWZg9DAJ",
"name": "Product 27095",
"options_text": "",
"quantity": 1,
"currency": "USD",
"price": "10.00",
"discounted_amount": "10.00",
"additional_tax_total": "0.00",
"total": "10.00",
"variant_id": "variant_UkLWZg9DAJ",
"sku": "SKU-356",
"thumbnail_url": null
}
],
"fulfillments": [
{
"id": "ful_UkLWZg9DAJ",
"number": "R1001-F1",
"status": "unfulfilled",
"tracking": "U10000",
"tracking_url": null,
"fulfilled_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"fulfillment_type": "shipping",
"delivery_method_name": "UPS Ground 146",
"stock_location_name": "Roseline Roberts",
"stock_location_id": "sloc_UkLWZg9DAJ",
"fulfillment_items": [
{
"id": "fi_UkLWZg9DAJ",
"quantity": 1,
"line_item_id": "li_UkLWZg9DAJ",
"variant_id": "variant_UkLWZg9DAJ",
"name": "Product 27095",
"sku": "SKU-356",
"options_text": ""
}
],
"selected_delivery_rate_id": "dr_gbHJdmfrXB",
"delivery_rates": [
{
"id": "dr_gbHJdmfrXB",
"name": "UPS Ground 146",
"selected": true,
"cost": "10.00",
"total": "10.00",
"carrier": null,
"service_level": null,
"estimated_delivery_date": null,
"unpriced": false
}
],
"deliveries": [
{
"id": "dlv_UkLWZg9DAJ",
"tracking_number": "U10000",
"carrier": null,
"carrier_name": null,
"service": null,
"status": "pending",
"tracking_url": null,
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"shipping_label_id": null
}
],
"labels": []
}
],
"shipping_address": {
"id": "addr_gbHJdmfrXB",
"label": null,
"first_name": "John",
"last_name": "Doe",
"full_name": "John Doe",
"address1": "282 Lovely Street",
"address2": "Northwest",
"postal_code": "10118",
"city": "New York",
"phone": "555-555-0199",
"company": "Company",
"country_name": "United States",
"country_code": "US",
"state_text": "NY",
"state_code": "NY",
"quick_checkout": false,
"is_default_billing": false,
"is_default_shipping": false,
"state_name": "New York"
},
"billing_address": {
"id": "addr_UkLWZg9DAJ",
"label": null,
"first_name": "John",
"last_name": "Doe",
"full_name": "John Doe",
"address1": "281 Lovely Street",
"address2": "Northwest",
"postal_code": "10118",
"city": "New York",
"phone": "555-555-0199",
"company": "Company",
"country_name": "United States",
"country_code": "US",
"state_text": "NY",
"state_code": "NY",
"quick_checkout": false,
"is_default_billing": false,
"is_default_shipping": false,
"state_name": "New York"
}
}
],
"meta": {
"page": 1,
"limit": 25,
"count": 1,
"pages": 1,
"from": 1,
"to": 1,
"in": 1,
"previous": null,
"next": null
}
}Filters
Filter withq[<attribute>_<predicate>]=value, for example q[number_cont]=…. Send a list as q[<attribute>_in][]=a&q[<attribute>_in][]=b. How filters work.
| Attribute | Kind | Predicates |
|---|---|---|
channel_id | Prefixed ID | eq not_eq in not_in null not_null |
completed_at | Date and time | eq not_eq in not_in lt lteq gt gteq null not_null |
created_at | Date and time | eq not_eq in not_in lt lteq gt gteq null not_null |
currency | One of the CurrencyCode codes | eq not_eq in not_in null not_null |
customer_id | Prefixed ID | eq not_eq in not_in null not_null |
delivery_total | Amount | eq not_eq in not_in lt lteq gt gteq null not_null |
fulfillment_status | One of backorder, canceled, partial, unfulfilled, fulfilled, delivered, pending, ready, shipped | eq not_eq in not_in null not_null |
id | Prefixed ID | eq not_eq in not_in null not_null |
item_total | Amount | eq not_eq in not_in lt lteq gt gteq null not_null |
locale | One of the LocaleCode codes | eq not_eq in not_in null not_null |
market_id | Prefixed ID | eq not_eq in not_in null not_null |
number | Text | eq not_eq in not_in cont i_cont not_cont start end null not_null present blank |
order_group_id | Prefixed ID | eq not_eq in not_in null not_null |
payment_status | One of none, authorized, partially_paid, paid, partially_refunded, refunded, overcharged, voided, balance_due, credit_owed, failed, void | eq not_eq in not_in null not_null |
po_number | Text | eq not_eq in not_in cont i_cont not_cont start end null not_null present blank |
seller_id | Prefixed ID | eq not_eq in not_in null not_null |
status | One of draft, placed, canceled | eq not_eq in not_in null not_null |
total | Amount | eq not_eq in not_in lt lteq gt gteq null not_null |
total_quantity | Number | eq not_eq in not_in lt lteq gt gteq null not_null |
updated_at | Date and time | eq not_eq in not_in lt lteq gt gteq null not_null |
channel_id, completed_at, created_at, currency, customer_id, delivery_total, fulfillment_status, id, item_total, locale, market_id, number, order_group_id, payment_status, po_number, seller_id, status, total, total_quantity, updated_at. Prefix a field with - to sort descending.Authorizations
JWT token for an authenticated seller session (seller_api audience)
Headers
Query Parameters
Set to true to apply complete.
Set to true to apply incomplete.
Set to true to apply partially_refunded.
Set to true to apply refunded.
Page number
Records per page (max 100)
Sort field; prefix with - for descending
Attribute filters, as q[<attribute>_<predicate>]=value. See Filters above for the list.
Was this page helpful?
⌘I

