Search Shipments
POST/api/shipstation/integration-instances/:integrationInstance/shipments/search
Search ShipStation live for label shipments matching an order number or tracking number. Backs the "Search Specific Shipment" tab of the shipments refresh modal.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Request body:
search_by(string, optional) —order_number(default) ortracking_number.order_numberis a starts-with match in ShipStation V1;tracking_numberis an exact match.query(string, required, max 255) — the order number or tracking number to search for.
Returns up to 50 live results from ShipStation. Each result includes exists_in_database / database_id so the UI can offer "Download" (new) vs "Update" (already cached). Use the returned shipstation_shipment_id, shipstation_order_id, and tracking_number to call the Refresh Single Shipment endpoint.
Returns 502 if the ShipStation API call fails.
Authentication: Requires Bearer token.
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 — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
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.
Bad Gateway