List Shipments
GET/api/shipstation/integration-instances/:integrationInstance/shipments
List label shipments for a ShipStation integration instance (paginated). Backed by the dedicated shipstation_shipments table populated from ShipStation's GET /shipments endpoint.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Authentication: Requires Bearer token.
Free-text search (filter[search]) matches tracking_number, shipstation_shipment_id, order_number, carrier_code, service_code (Typesense-backed when available, with DB LIKE fallback).
Allowed sorts: id, shipstation_shipment_id, order_number, tracking_number, carrier_code, service_code, package_code, shipment_cost, weight_value, voided, ship_date, create_date, created_at, updated_at. Prefix with - for DESC. Default sort: -ship_date.
Advanced filter operators are supported per column via the AdvancedFiltersModal (text operators on order_number/tracking_number/carrier_code/service_code/package_code/confirmation/warehouse_id, numeric on id/shipstation_shipment_id/weight_value/shipment_cost, datetime on ship_date/create_date/created_at/updated_at).
Pass include_json=1 to include the raw ShipStation payload (json_object) on each row.
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 — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
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.