Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'
const client = createAdminClient({
baseUrl: 'https://your-store.com',
secretKey: 'sk_xxx',
})
const { data: orderGroups } = await client.orderGroups.list({
email_cont: 'jane@example.com',
sort: '-created_at',
})spree api get /order_groups -d '{"email_cont":"jane@example.com","sort":"-created_at"}'{
"data": [
{
"id": "ogrp_UkLWZg9DAJ",
"number": "R1001",
"email": "sylvie@rau.info",
"currency": "USD",
"item_total": "0.00",
"discount_total": "0.00",
"tax_total": "0.00",
"included_tax_total": "0.00",
"additional_tax_total": "0.00",
"delivery_total": "0.00",
"fee_total": "0.00",
"gift_card_total": "0.00",
"store_credit_total": "0.00",
"total": "0.00",
"amount_due": "0.00",
"covered_by_store_credit": false,
"payments": [],
"fulfillment_status": null,
"payment_status": null,
"completed_at": "2026-01-15T12:00:00.000Z",
"billing_address": null,
"shipping_address": null,
"orders": [],
"customer_id": "cust_UkLWZg9DAJ",
"cart_id": null,
"seller_count": 0,
"includes_first_party": false,
"confirmation_delivered": false,
"store_owner_notification_delivered": false,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z"
}
],
"meta": {
"page": 1,
"limit": 25,
"count": 1,
"pages": 1,
"from": 1,
"to": 1,
"in": 1,
"previous": null,
"next": null
}
}List order groups
Returns checkouts split into one order per seller, grouping the orders placed together.
Required scope: read_orders (for API-key authentication).
GET
/
api
/
v3
/
admin
/
order_groups
Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'
const client = createAdminClient({
baseUrl: 'https://your-store.com',
secretKey: 'sk_xxx',
})
const { data: orderGroups } = await client.orderGroups.list({
email_cont: 'jane@example.com',
sort: '-created_at',
})spree api get /order_groups -d '{"email_cont":"jane@example.com","sort":"-created_at"}'{
"data": [
{
"id": "ogrp_UkLWZg9DAJ",
"number": "R1001",
"email": "sylvie@rau.info",
"currency": "USD",
"item_total": "0.00",
"discount_total": "0.00",
"tax_total": "0.00",
"included_tax_total": "0.00",
"additional_tax_total": "0.00",
"delivery_total": "0.00",
"fee_total": "0.00",
"gift_card_total": "0.00",
"store_credit_total": "0.00",
"total": "0.00",
"amount_due": "0.00",
"covered_by_store_credit": false,
"payments": [],
"fulfillment_status": null,
"payment_status": null,
"completed_at": "2026-01-15T12:00:00.000Z",
"billing_address": null,
"shipping_address": null,
"orders": [],
"customer_id": "cust_UkLWZg9DAJ",
"cart_id": null,
"seller_count": 0,
"includes_first_party": false,
"confirmation_delivered": false,
"store_owner_notification_delivered": false,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z"
}
],
"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 |
|---|---|---|
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 |
email | Text | eq not_eq in not_in cont i_cont not_cont start end null not_null present blank |
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 |
updated_at | Date and time | eq not_eq in not_in lt lteq gt gteq null not_null |
Filters through associations
Filters through associations
Prefix an associated record’s attribute with the association, as in
q[customer_id_eq]. The same predicates apply.| Prefix | Attributes |
|---|---|
customer_ | accepts_email_marketing, created_at, email, first_name, id, last_name, phone, updated_at |
customer_addresses_ | address1, address2, city, company, country_code, created_at, first_name, id, last_name, phone, postal_code, state_code, updated_at |
customer_bill_address_ | address1, address2, city, company, country_code, created_at, first_name, id, last_name, phone, postal_code, state_code, updated_at |
customer_customer_groups_ | created_at, id, name, updated_at |
customer_orders_ | channel_id, completed_at, considered_risky, coupon_code, created_at, currency, customer_id, delivery_total, email, fulfillment_status, id, item_total, locale, market_id, number, order_group_id, payment_status, po_number, seller_id, status, total, total_quantity, updated_at |
customer_ship_address_ | address1, address2, city, company, country_code, created_at, first_name, id, last_name, phone, postal_code, state_code, updated_at |
customer_spree_roles_ | created_at, id, name, updated_at |
customer_tags_ | created_at, id, name, updated_at |
orders_ | channel_id, completed_at, considered_risky, coupon_code, created_at, currency, customer_id, delivery_total, email, fulfillment_status, id, item_total, locale, market_id, number, order_group_id, payment_status, po_number, seller_id, status, total, total_quantity, updated_at |
orders_bill_address_ | address1, address2, city, company, country_code, created_at, first_name, id, last_name, phone, postal_code, state_code, updated_at |
orders_channel_ | active, code, created_at, default, id, name, store_id, updated_at |
orders_customer_ | accepts_email_marketing, created_at, email, first_name, id, last_name, phone, updated_at |
orders_fulfillments_ | created_at, id, number, updated_at |
orders_line_items_ | additional_tax_total, adjustment_total, cost_price, created_at, discount_total, id, included_tax_total, non_taxable_adjustment_total, order_id, pre_tax_amount, price, quantity, tax_category_id, taxable_adjustment_total, updated_at, variant_id |
orders_promotions_ | code, created_at, expires_at, id, kind, name, path, promotion_category_id, starts_at, updated_at |
orders_seller_ | contact_email, created_at, id, name, status, updated_at |
orders_ship_address_ | address1, address2, city, company, country_code, created_at, first_name, id, last_name, phone, postal_code, state_code, updated_at |
orders_shipments_ | created_at, id, number, updated_at |
orders_store_ | created_at, id, name, updated_at |
orders_tags_ | created_at, id, name, updated_at |
created_at, currency, email, id, number, updated_at. Prefix a field with - to sort descending.Authorizations
Secret API key for admin access
JWT token for admin user authentication
Query Parameters
Attribute filters, as q[<attribute>_<predicate>]=value. See Filters above for the list.
Was this page helpful?
⌘I

