Orders
List orders
List orders accepted and stored by Sign Customiser for the authenticated
Store, newest first. received means only that the order was accepted
into Sign Customiser; it does not claim payment, manufacturing,
fulfilment, shipping, refund, or cancellation state. line_item_count
counts modern products only. Legacy cached products remain available to
the established CSV export but are deliberately absent from v3 order
projections and do not match filter[customiser_id].
Follow links.next while pagination.has_more is true. Cursors are
opaque and are valid only with the exact filters that issued them.
Unsupported parameters and filters are rejected rather than ignored.
Requires orders:read; results are always scoped to the Store belonging
to the API key. This read is safe to retry.
Authorisation
Bearer token required. Include in the
Authorization header.
Query parameters
Order acceptance status. This set is expected to grow; tolerate unknown response values.
Example: received
Number of orders per page, from 1 to 100. Defaults to 20.
Example: 20
Include orders created on or after this UTC date (YYYY-MM-DD).
Example: 2026-07-01
Include orders created on or before this UTC date (YYYY-MM-DD).
Example: 2026-07-19
Include orders with a modern line item from this customiser.
Example: 42
curl https://web.signcustomiser.com/api/v3/orders?filter%5Bstatus%5D=received&limit=20&cursor=&filter%5Bcreated_from%5D=2026-07-01&filter%5Bcreated_to%5D=2026-07-19&filter%5Bcustomiser_id%5D=42 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'{
"data": [
{
"object": "order",
"id": 123,
"store_order_id": "gid://shopify/Order/1001",
"store_order_number": "#1001",
"status": "received",
"status_display_name": "Received",
"total_amount": 31900,
"currency": "AUD",
"line_item_count": 2,
"created_at": "2026-07-18T02:15:00Z",
"updated_at": "2026-07-18T02:16:00Z"
}
],
"pagination": {
"has_more": false,
"next_cursor": null
},
"links": {
"self": "https://web.signcustomiser.com/api/v3/orders",
"documentation": "https://www.signcustomiser.com/help/api/",
"next": null
},
"meta": {
"api_version": "v3",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
}{
"type": "https://www.signcustomiser.com/help/api/problems/missing_api_key",
"title": "Missing API key",
"status": 401,
"code": "missing_api_key",
"detail": "Provide a store API key as a bearer token.",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/insufficient_scope",
"title": "Insufficient scope",
"status": 403,
"code": "insufficient_scope",
"detail": "This operation requires the orders:read scope.",
"required_scopes": [
"orders:read"
],
"granted_scopes": [],
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/invalid_parameter",
"title": "Invalid query parameter",
"status": 422,
"code": "invalid_parameter",
"detail": "The filter[created_from] value must be a valid date in YYYY-MM-DD format, interpreted in UTC.",
"errors": [
{
"parameter": "filter[created_from]",
"code": "invalid_parameter",
"detail": "The filter[created_from] value must be a valid date in YYYY-MM-DD format, interpreted in UTC."
}
],
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/rate_limited",
"title": "Too many requests",
"status": 429,
"code": "rate_limited",
"detail": "You have exceeded the request limit for this API key.",
"retry_after": 60,
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}