Refresh Shipment From ShipStation
POST/api/shipstation/integration-instances/:integrationInstance/shipments/:shipment/refresh
Fetch fresh shipment data live from the ShipStation API and upsert it into the local row, then return the refreshed resource (including the raw json_object payload).
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
ShipStation V1 has no GET /shipments/{id} endpoint, so the lookup calls List Shipments filtered by the shipment's orderId (falling back to its trackingNumber) and matches the shipmentId in the results.
Returns 404 when the local shipment does not belong to the instance, or when ShipStation no longer returns the shipment (e.g. it was removed). Returns 502 when the ShipStation API call fails.
Authentication: Requires Bearer token.
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
- 422
- 429
- 502
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
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