Get Order
GET/api/shipstation/integration-instances/:integration_instance/orders/:order
Returns a single ShipStation order from the local cache, serialized via ShipStation order object. Includes the order status (value + label + color), carrier/service codes, a resolved tracking_url (derived from carrier_code + tracking_number via ShipstationTrackingUrl::resolve), and the linked SKU.io sales order fulfillment (sku_fulfillment, null when not linked).
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
When include_json=1 (or true) is supplied, the raw ShipStation JSON payload is included as json_object.
Returns 404 when the order does not belong to the given integration instance.
Authentication: Requires Bearer token.
Each order includes a shipments array of linked ShipStation shipment rows (tracking number/URL, carrier + service, cost, voided / return-label flags, ship date, and a link_route to the shipment detail page), sorted by ship date descending.
product_links — when include_json=1, the response also includes product_links: a map of lowercased item SKU → { id, name, link_route } resolving the raw payload's item SKUs (shipmentItems for shipments, items for orders) to local SKU.io products at /products/{id}. SKUs with no matching local product are absent from the map.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not Found
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.