Skip to main content

Integrations API

The Integrations page in the dashboard shows a status on every card (WhatsApp, Delivyr, the ad platforms, the stores, the warehouses and the analytics tools). This endpoint returns that same status, so a script or a monitoring job can check that a workspace is still connected without opening the dashboard.

Connecting and disconnecting stay in the dashboard. This API is read-only.

All endpoints on this page are relative to the base URL: https://api-eu1.joryio.com/api - see API Overview.

Authentication​

Use an API key as a bearer token (or a dashboard session). The key needs the integrations:read permission. A key belongs to one workspace, and the answer is about that workspace.

Authorization: Bearer jry_live_xxxxxxxxxxxxxxxxxxxx

Get the status of every integration​

GET /integrations-hub/status

No parameters. The response lists every integration on the Integrations page, in the page's order:

{
"integrations": [
{ "id": "whatsapp", "status": "connected", "connected": true },
{ "id": "delivyr", "status": "not_connected", "connected": false, "count": 0 },
{ "id": "meta_ads", "status": "error", "connected": true, "count": 2 },
{ "id": "shopify", "status": "connected", "connected": true, "count": 1 },
{ "id": "snowflake", "status": "connected", "connected": true, "count": 1 },
{ "id": "segment", "status": "coming_soon", "connected": false }
]
}
FieldTypeMeaning
idstringThe integration: whatsapp, delivyr, meta_ads, google_ads, tiktok_ads, linkedin_ads, criteo_ads, shopify, woocommerce, magento, prestashop, snowflake, bigquery, s3, redshift, amplitude, mixpanel, segment. New integrations are added over time - ignore an id you do not know.
statusstringWhat the card shows - see Status values.
connectedbooleantrue when at least one connection behind the integration is live. A store whose last sync failed is still connected (status is error, connected is true).
countnumberHow many connected accounts, data streams or stores are behind the integration. Not present for WhatsApp or for an integration that is not available yet.

Status values​

statusMeaning
connectedConnected and working.
not_connectedNothing is connected yet.
action_neededWhatsApp only: an account was added and is waiting for approval.
errorConnected, but something needs attention: an ad platform account reports an error, or a store's last sync failed. Open the integration in the dashboard to see what failed.
coming_soonThe integration is not available yet.

When an integration has more than one part (for example Snowflake: importing data and streaming events), an error in any part wins, then connected, then action_needed.

What counts as connected​

  • WhatsApp: an active WhatsApp Business account of the workspace or of the whole organization, or an active WhatsApp provider set up by Joryio.
  • Stores (Shopify, WooCommerce, Magento, PrestaShop): a store connection that has not been disconnected.
  • Delivyr: a Delivyr account connected to the workspace.
  • Ad platforms and warehouse imports: a connected account. Each account counts once.
  • Data streams (S3, BigQuery, Snowflake, Redshift, Amplitude, Mixpanel): a data stream to that destination.

These are the same rules Joryio uses everywhere it reports connected channels and stores.

The response never contains credentials, account names, phone numbers, sender addresses or error messages - only a status, a yes or no and a count per integration.

Errors​

StatusWhen
401The API key is missing or not valid.
403The key does not have integrations:read.
400A dashboard session with no workspace selected.
429Too many requests - see Rate Limiting.

Example​

curl https://api-eu1.joryio.com/api/integrations-hub/status \
-H "Authorization: Bearer jry_live_xxxxxxxxxxxxxxxxxxxx"