List the company's orders
Cursor-paginated index of the authenticated company’s orders, resolved entirely from Elasticsearch — filtering, sorting and pagination all happen in the search index rather than in Postgres.
Two deliberate differences from GET /api/v202506/orders:
- No stats block. The response
metacarries pagination only. Aggregate figures (total and average CV, total and average amount, fulfilled count) come fromGET /api/v202506/orders/stats, which is cached and built for them. Computing a whole-set aggregation on every page of a list endpoint is what made the v2025-06 index expensive. - No SQL fallback. If the search index cannot answer, this
endpoint returns
503rather than quietly running the slow query it exists to replace. Callers that need availability over index freshness should stay on v2025-06.
Cursors are Elasticsearch search_after tokens. They are opaque:
echo meta.pagination.next_cursor back as page[cursor] to walk
forward and prev_cursor to walk back. They are not
interchangeable with the v2025-06 Rotulus cursors.
Visibility follows the authenticated credential, never a parameter: a company admin sees the company’s orders, and a rep sees only the orders they hold volume credit on plus their own purchases.
Unlike GET /api/v202506/orders, this surface does not accept
customer JWTs — a customer token is rejected with 401. Customers
read their own orders from
GET /api/checkout/v2026-04/customers/me/orders.
Authorizations
Bearer token authentication. Accepts company tokens, partner tokens,
public tokens, droplet installation tokens, and user_company tokens.
The authenticated credential determines editor_type and editor_id
on the resulting order-edit audit records — the payload never carries
either field.
Query Parameters
Free-text search. Matches substrings, so a partial value finds the
row — pasting 4821 finds order number F148217.
Searches, in one pass:
- the order's
order_number,email,first_name,last_name,phoneandexternal_id - the buyer's full name and the owning member's full name and email
- the order's numeric id, its
numbersequence, and the customer's legacy id
Every term must match, and all of them must match within a single
one of those fields. Full names are indexed joined for exactly
this reason, so jane smith finds an order whose first and last
name columns hold one word each.
Sort key. A leading - reverses the direction. Defaults to
-sale_date (newest first by effective sale date, which is the
order's sale_date falling back to created_at).
sale_date, -sale_date, created_at, -created_at, id, -id, order_status, -order_status, status, -status, customer_name, -customer_name, customer, -customer, amount, -amount Opaque search_after cursor from a previous response's
meta.pagination.next_cursor or prev_cursor. Omit for the
first page. A malformed cursor returns 422.
Page size. Defaults to 25, capped at 100.
1 <= x <= 100Restrict to one order status. The sentinel all imposes no
constraint and is equivalent to omitting the filter.
all, draft, pending, pending_review, processing, completed, cancelled, archived Restrict to one order class.
sample_order, customer_order, member_order, enrollment_order, autoship_order Exact match on the human-facing order number.
Restrict to orders whose originating cart carried this source value.
Restrict to one customer's orders, matched on either the owning member or a legacy customer id carried on order metadata.
Restrict to orders a given rep holds volume credit on, addressed by legacy UserCompany id.
Restrict to orders belonging to one subscription.
Comma-separated ISO-2 or ISO-3 country codes; matches orders shipped to any of them.
Inclusive lower bound on the effective sale date, as a calendar
date resolved through filter[timezone].
Inclusive upper bound on the effective sale date, as a calendar
date resolved through filter[timezone].
IANA timezone used to resolve filter[start_date] and
filter[end_date] to day boundaries, so a day means the caller's
day. Defaults to UTC; Etc/Unknown is treated as absent. An
unrecognised zone returns 422.
Response
A page of orders, newest first unless sort says otherwise.
A page of orders. meta carries pagination only — this surface
publishes no stats block; see GET /api/v202506/orders/stats.