API reference
Retrieve an order
Track a funded manufacturing order from payment to shipment.
GET /v1/orders/{id}
GET
/v1/orders/{id}Use cart.order_id or the data.id from an order.* webhook, not a cart ID or Stripe session ID. Live manufacturing orders exist after payment is recorded. Hosted/Connect simulator orders use test_order_… IDs; these and prepaid sandbox orders return mode: "test" and simulated: true and never print or ship.
Order status response
{
"id": "00000000-0000-4000-a000-000000000042",
"cart_id": "cart_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "shipped",
"shipment": {
"carrier": "Example carrier",
"tracking_number": "TRACK-1042",
"tracking_url": "https://shipping.example/track/TRACK-1042"
},
"created_at": "2026-10-06T12:10:00.000Z",
"updated_at": "2026-10-08T15:00:00.000Z",
"external_ref": "store-order-1042",
"card_count": 3
}| Field / limit | Description |
|---|---|
| id / cart_id | Opaque order ID and originating cart ID. |
| status | paid, in_production, shipped, cancelled or blocked. blocked indicates a manufacturing hold. |
| shipment | Null when no shipment is attached; otherwise {carrier, tracking_number, tracking_url}. Carrier: up to 80 characters; tracking number: up to 150; tracking_url is HTTPS. |
| created_at / updated_at | RFC 3339 timestamp strings with timezone; when the manufacturing order was created and last updated. |
| external_ref / card_count | Your reference string or null, and integer sum of card quantities. |
Signed events are the preferred update mechanism. If you reconcile through order GETs, they count toward the normal rate limit. A browser return to your site is not evidence of payment.