Get Dashboard Metrics
GET/api/shipstation/integration-instances/:integration_instance/dashboard
Returns dashboard metrics for a ShipStation integration instance.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Response fields (camelCase, serialized from ShipstationDashboardMetricsData):
- totalOrders (int): total synced ShipStation orders for the instance
- ordersByStatus (array): one row per ShipStation order status (awaiting_payment, awaiting_shipment, pending_fulfillment, shipped, on_hold, cancelled, rejected_fulfillment, unknown) with status, status_label and count (zero-filled for statuses with no orders)
- ordersByCarrier (array): up to 20 carriers ordered by count desc, each {carrier, count}
- totalWarehouses (int): synced ShipStation warehouses
- unprocessedWebhookEvents (int) / failedWebhookEvents (int): webhook event queue health
- activeWebhookSubscriptions (int)
- ordersLastSyncedAt / trackingInfoLastUpdatedAt / warehousesLastSyncedAt (ISO 8601 or null): last sync timestamps
- unlinkedOrders (int): ShipStation orders not linked to a SKU fulfillment
- schedules (object): sync schedule metadata keyed by orders, tracking_info, warehouses — each {frequency: 'Hourly' | 'Manual only', seconds_until_next: int | null} powering the dashboard countdown
- ordersChart (array): one {date, orders_count} row per day for the last 30 days (oldest first, zero-filled)
Authentication: Requires Bearer token.
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.