List Integrations (Picker)
GET/api/integrations
List all available integrations and their connected instances. Powers the integration picker in the UI.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Authentication: Requires Bearer token + Power User access.
Each integration includes a deprecated boolean. Deprecated integrations (e.g. ShipMyOrders) are hidden from this list unless the tenant still has at least one connected instance, in which case the integration is returned so its existing instances can be shown read-only. Deprecated integrations can no longer be connected (see POST /api/integration-instances).
has_sync_surface is false for integrations that have no remote to synchronise with (SKU.io, D3); clients should omit any sync status indicator for those rather than treating them as paused.
accounting_sync is returned ONLY for accounting connections (Xero, QuickBooks Online) and is absent on every other integration. It reports the state that actually governs whether accounting transactions sync: is_connection_active (whether the connection itself is live), plus types_enabled and types_total (how many transaction types are switched on). For accounting connections the is_automatic_sync_enabled and is_sync_schedule_paused fields do NOT determine sync behaviour — use accounting_sync instead.
Request
Responses
- 200
- 401
- 403
- 429
OK
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.
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.