Beta
Not authenticated — log in first
VendorOrders

List Orders

List Orders — vendor REST API endpoint.

GET/vendor/ordersVendor bearer token required

List Orders

List suborders assigned to your vendor with cursor-based pagination.

What this means in plain English

Returns a paginated slice of your orders as summary rows — header and amounts only, without line items, buyer contact or addresses. Use first/after (or last/before) cursors from pageInfo to navigate, then call Get Order for the rows you need in full.

When to use this

  • Polling for new orders to fulfill.
  • Building an order management integration.

Query parameters

NameTypeRequiredDescription
firstintegerNoNumber of orders to return (default 24, max 100).
afterstringNoOpaque cursor — pass pageInfo.endCursor from the previous page for the next page.
beforestringNoOpaque cursor for backward pagination (use with last).
lastintegerNoNumber of orders when paginating backward (max 100).

Request example

curl -X GET 'https://api.next.gcommerce.glass/api/v1/vendor/orders'

Response examples

200Success
{
  "orders": [{
  "id": "550e8400-e29b-41d4-a716-446655440030",
  "orderNumber": "ORD-2026-0042-V1",
  "couponId": null,
  "paymentStatus": "COMPLETED",
  "parentOrderId": "550e8400-e29b-41d4-a716-446655440029",
  "userId": "550e8400-e29b-41d4-a716-446655440002",
  "isSuborder": true,
  "status": "SHIPPED",
  "subtotal": "129.99",
  "tax": "10.40",
  "taxRate": "0.080000",
  "shipping": "9.60",
  "discount": "0.00",
  "total": "149.99",
  "poNumber": "PO-7788",
  "notes": null,
  "additionalRecipientEmails": [],
  "createdAt": "2026-06-10T16:45:00.000Z",
  "updatedAt": "2026-06-12T09:12:00.000Z"
}],
  "pageInfo": {
  "startCursor": "MjAyNi0wMS0xNVQxMjowMDowMC4wMDBafDU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMA==",
  "endCursor": "MjAyNS0xMi0wMVQxMDowMDowMC4wMDBafDU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAxMA==",
  "hasNextPage": true,
  "hasPreviousPage": false
},
  "estimatedTotalCount": 128
}

Status codes

200

OK

Request succeeded.

401

Unauthorized

Missing or invalid bearer token.

403

Forbidden

Insufficient permissions for this action.

400

Bad Request

Validation failed or invalid parameters.

404

Not Found

Resource not found.

429

Too Many Requests

Global rate limit exceeded (10,000 requests per 10 minutes per IP).

500

Internal Server Error

Unexpected server error.

403

Forbidden

No vendor membership, or insufficient vendor role (requires OWNER, ADMIN, or EDITOR for write operations).

List rows are a summary. `items`, `buyer`, `shippingAddress`, `billingAddress` and `vendorId` are returned only by [Get Order](/docs/v1/vendor/orders/get).
Orders of every status are listed and there is no `status` query filter. See the Order statuses and Payment statuses tables below this panel for every value of `status` and `paymentStatus`, what each means, and which are set for you by the platform.

Try it

Uses your saved session from login. Edit values and send a live request, or copy the cURL command.

Order statuses

status is one of eleven values. There is no status query filter — filter client-side if you only want open orders.

StatusMeaningSet by
PENDINGPlaced by the buyer, not yet accepted by youCheckout
CONFIRMEDYou accepted the orderYou — Update Order Status or the confirm link in the order email
PROCESSINGFulfillment started — at least one shipment existsAutomatic when you create a shipment
SHIPPEDEvery line is on a dispatched shipmentAutomatic from shipment progress
PARTIALLY_SHIPPEDSome lines dispatched, others still outstandingLegacy order import only — live fulfillment does not emit it
DELIVEREDAll shipments deliveredAutomatic from shipment progress
BACKORDEREDAccepted but awaiting stockLegacy order import, or a manual update
CANCELLEDPulled before fulfillmentBuyer, platform admin, or a failed payment capture
DECLINEDNever acceptedLegacy order import, or a manual update
REFUNDEDMoney returned to the buyerLegacy order import, or a manual update
TESTImported test data, not a real saleLegacy order import

List Purchase Orders is narrower — it covers confirmed, non-cancelled orders only (CONFIRMED, PROCESSING, SHIPPED, PARTIALLY_SHIPPED, DELIVERED and BACKORDERED).

Payment statuses

paymentStatus is separate from status: it tracks the buyer's payment to the platform, not your vendor payout, and vendors cannot write it.

Payment statusMeaningWhen you see it
PENDINGOrder placed, payment not captured yetAwaiting capture
COMPLETEDPayment capturedThe normal value on a confirmed order
FAILEDCapture failedAlways alongside status: CANCELLED
PROCESSINGReserved by the enumNot currently emitted
REFUNDEDReserved by the enumNot currently emitted — a refund appears as status: REFUNDED with paymentStatus still COMPLETED
PARTIALLY_REFUNDEDReserved by the enumNot currently emitted