List Orders
List Orders — vendor REST API endpoint.
/vendor/ordersVendor bearer token requiredList Orders
List suborders assigned to your vendor with cursor-based pagination.
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
| Name | Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of orders to return (default 24, max 100). |
| after | string | No | Opaque cursor — pass pageInfo.endCursor from the previous page for the next page. |
| before | string | No | Opaque cursor for backward pagination (use with last). |
| last | integer | No | Number of orders when paginating backward (max 100). |
Request example
curl -X GET 'https://api.next.gcommerce.glass/api/v1/vendor/orders'Response examples
{
"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
OK
Request succeeded.
Unauthorized
Missing or invalid bearer token.
Forbidden
Insufficient permissions for this action.
Bad Request
Validation failed or invalid parameters.
Not Found
Resource not found.
Too Many Requests
Global rate limit exceeded (10,000 requests per 10 minutes per IP).
Internal Server Error
Unexpected server error.
Forbidden
No vendor membership, or insufficient vendor role (requires OWNER, ADMIN, or EDITOR for write operations).
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.
| Status | Meaning | Set by |
|---|---|---|
PENDING | Placed by the buyer, not yet accepted by you | Checkout |
CONFIRMED | You accepted the order | You — Update Order Status or the confirm link in the order email |
PROCESSING | Fulfillment started — at least one shipment exists | Automatic when you create a shipment |
SHIPPED | Every line is on a dispatched shipment | Automatic from shipment progress |
PARTIALLY_SHIPPED | Some lines dispatched, others still outstanding | Legacy order import only — live fulfillment does not emit it |
DELIVERED | All shipments delivered | Automatic from shipment progress |
BACKORDERED | Accepted but awaiting stock | Legacy order import, or a manual update |
CANCELLED | Pulled before fulfillment | Buyer, platform admin, or a failed payment capture |
DECLINED | Never accepted | Legacy order import, or a manual update |
REFUNDED | Money returned to the buyer | Legacy order import, or a manual update |
TEST | Imported test data, not a real sale | Legacy 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 status | Meaning | When you see it |
|---|---|---|
PENDING | Order placed, payment not captured yet | Awaiting capture |
COMPLETED | Payment captured | The normal value on a confirmed order |
FAILED | Capture failed | Always alongside status: CANCELLED |
PROCESSING | Reserved by the enum | Not currently emitted |
REFUNDED | Reserved by the enum | Not currently emitted — a refund appears as status: REFUNDED with paymentStatus still COMPLETED |
PARTIALLY_REFUNDED | Reserved by the enum | Not currently emitted |