Refresh Order Tracking
POST/api/shipstation/integration-instances/:integration_instance/orders/:order/tracking
Refreshes tracking for a single order live from ShipStation's V1 /shipments endpoint (looked up by the order's ShipStation order ID), persists the tracking number / carrier / ship date to the local order cache, and applies the tracking to the linked SKU.io SalesOrderFulfillment (if any). Mirrors the Starshipit "Refresh Order Tracking" endpoint.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
No request body. Returns the refreshed order (with json_object included) and the message "Tracking refreshed from ShipStation".
Errors: 404 when the order does not belong to the instance; 400 when the order has no shipstation_order_id; 502 when the live ShipStation call fails.
Authentication: Requires Bearer token.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 502
OK
Response Headers
Bad Request
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 — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
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.
Bad Gateway