Generated from source at build time — this page cannot drift from the running service.

HTTP API reference

Every route this service declares: 263 in total, across 25 modules.

There is no global path prefix. The v1 in most paths is part of each controller's own prefix, which is why a handful of routes — the provider webhooks and campaign click tracking — sit outside it and always will.

Auth is which credential reaches the route:

Value Meaning
Bearer + tenant An sk_ service key or an Accounts session, plus an X-Axis-Tenant header
Operator Cross-tenant. Bearer only, no tenant header, requires the stats scope
Operator (write) As above plus operator:connections:write, which admin does not grant
Realtime token The short-lived token minted by POST /v1/realtime/tokens
Public No credential. 15 routes — see Public surface

Scope is what the request is checked against once authenticated. On tenant-scoped routes admin satisfies every check; on operator routes it satisfies nothing. A dash means the route carries no @RequireScopes — it is not necessarily open, since operator routes are gated by stats through a different guard.

Idempotency-Key is required on every write. It is derived from the HTTP verb rather than declared per route, so several POSTs that only read still demand one; the exceptions are marked @ReadOnlyPost in source and show a dash here.

accounts-webhook

Method Path Auth Scope Idempotency-Key
POST /v1/accounts/webhook Public

analysis

Method Path Auth Scope Idempotency-Key
GET /v1/inbox/threads/:threadId/analysis Bearer + tenant inbox
PATCH /v1/inbox/threads/:threadId/analysis Bearer + tenant inbox required
POST /v1/inbox/threads/:threadId/analysis Bearer + tenant inbox required

annotations

Method Path Auth Scope Idempotency-Key
GET /v1/canned-replies Bearer + tenant inbox
POST /v1/canned-replies Bearer + tenant inbox required
DELETE /v1/canned-replies/:id Bearer + tenant inbox required
PATCH /v1/canned-replies/:id Bearer + tenant inbox required
POST /v1/inbox/import/canned-replies Bearer + tenant admin required
POST /v1/inbox/import/labels Bearer + tenant admin required
GET /v1/labels Bearer + tenant inbox
POST /v1/labels Bearer + tenant inbox required
DELETE /v1/labels/:labelId Bearer + tenant inbox required
PATCH /v1/labels/:labelId Bearer + tenant inbox required
GET /v1/threads/:threadId/labels Bearer + tenant inbox
POST /v1/threads/:threadId/labels Bearer + tenant inbox required
PUT /v1/threads/:threadId/labels Bearer + tenant inbox required
DELETE /v1/threads/:threadId/labels/:labelId Bearer + tenant inbox required
GET /v1/threads/:threadId/notes Bearer + tenant inbox
POST /v1/threads/:threadId/notes Bearer + tenant inbox required
DELETE /v1/threads/:threadId/notes/:noteId Bearer + tenant inbox required
GET /v1/tickets/:ticketId/labels Bearer + tenant inbox
POST /v1/tickets/:ticketId/labels Bearer + tenant inbox required
DELETE /v1/tickets/:ticketId/labels/:labelId Bearer + tenant inbox required

auto-response

Method Path Auth Scope Idempotency-Key
GET /v1/auto-response Bearer + tenant inbox
PUT /v1/auto-response Bearer + tenant inbox required

campaigns

Method Path Auth Scope Idempotency-Key
GET /c/:token Public
GET /v1/campaigns Bearer + tenant inbox
POST /v1/campaigns Bearer + tenant inbox required
DELETE /v1/campaigns/:id Bearer + tenant inbox required
GET /v1/campaigns/:id Bearer + tenant
GET /v1/campaigns/:id Bearer + tenant inbox
PATCH /v1/campaigns/:id Bearer + tenant inbox required
POST /v1/campaigns/:id/cancel Bearer + tenant inbox required
GET /v1/campaigns/:id/flow-report Bearer + tenant inbox
GET /v1/campaigns/:id/flow-report/export Bearer + tenant inbox
GET /v1/campaigns/:id/job Bearer + tenant inbox
POST /v1/campaigns/:id/reattempt-failed Bearer + tenant inbox required
GET /v1/campaigns/:id/recipients Bearer + tenant inbox
GET /v1/campaigns/:id/recipients/:recipientId/activity Bearer + tenant inbox
GET /v1/campaigns/:id/recipients/export Bearer + tenant inbox
GET /v1/campaigns/:id/recipients/filter-options Bearer + tenant inbox
GET /v1/campaigns/:id/recipients/page Bearer + tenant inbox
POST /v1/campaigns/:id/retry Bearer + tenant inbox required
POST /v1/campaigns/:id/send Bearer + tenant inbox required
GET /v1/campaigns/:id/stats Bearer + tenant inbox
GET /v1/campaigns/free-sms/allowance Bearer + tenant inbox
POST /v1/campaigns/media Bearer + tenant inbox required
POST /v1/campaigns/preflight Bearer + tenant inbox
GET /v1/campaigns/senders/:connectionId/send-now Bearer + tenant inbox
GET /v1/campaigns/senders/:connectionId/warmup-status Bearer + tenant inbox

connection-requests

Method Path Auth Scope Idempotency-Key
GET /v1/connection-requests Bearer + tenant connections
POST /v1/connection-requests Bearer + tenant connections required
POST /v1/connection-requests/:id/cancel Bearer + tenant connections required
GET /v1/operator/connection-requests Operator
POST /v1/operator/connection-requests/:id/approve Operator (write) required
POST /v1/operator/connection-requests/:id/email/connect Operator (write) required
POST /v1/operator/connection-requests/:id/reject Operator (write) required
POST /v1/operator/connection-requests/:id/test Operator (write) required
POST /v1/operator/connection-requests/:id/whatsapp/connect Operator (write) required

connections

Method Path Auth Scope Idempotency-Key
POST /v1/admin/native-claims/release Bearer + tenant admin required
GET /v1/connections Bearer + tenant connections
DELETE /v1/connections/:id Bearer + tenant connections required
POST /v1/connections/:id/disconnect Bearer + tenant connections required
GET /v1/connections/:id/qr Bearer + tenant connections
POST /v1/connections/:id/reconnect Bearer + tenant connections required
POST /v1/connections/:id/retry-webhook-subscription Bearer + tenant connections required
GET /v1/connections/:id/session-status Bearer + tenant connections
POST /v1/connections/:id/switch-integration Bearer + tenant connections required
POST /v1/connections/:id/sync-contacts Bearer + tenant connections required
POST /v1/connections/:network/complete Bearer + tenant connections required
POST /v1/connections/:network/start Bearer + tenant connections required
GET /v1/connections/callback Public
POST /v1/connections/email/provision Bearer + tenant admin required
GET /v1/connections/google-business/locations Bearer + tenant connections
POST /v1/connections/google-business/select-location Bearer + tenant connections required
POST /v1/connections/import Bearer + tenant admin required
GET /v1/integrations/capabilities Bearer + tenant connections

contacts

Method Path Auth Scope Idempotency-Key
GET /v1/contacts Bearer + tenant inbox
POST /v1/contacts Bearer + tenant required
POST /v1/contacts Bearer + tenant inbox required
DELETE /v1/contacts/:id Bearer + tenant inbox required
GET /v1/contacts/:id Bearer + tenant inbox
PATCH /v1/contacts/:id Bearer + tenant inbox required
POST /v1/contacts/:id/identifiers Bearer + tenant inbox required
PATCH /v1/contacts/:id/identifiers/:identifierId Bearer + tenant inbox required
POST /v1/contacts/:id/merge Bearer + tenant admin required
POST /v1/contacts/bulk-archive Bearer + tenant inbox required
GET /v1/contacts/export Bearer + tenant inbox
POST /v1/contacts/import Bearer + tenant inbox required
GET /v1/contacts/summary Bearer + tenant inbox
GET /v1/contacts/template Bearer + tenant inbox
POST /v1/contacts/upsert Bearer + tenant inbox required

core

Method Path Auth Scope Idempotency-Key
GET /v1/health Public
GET /v1/ping Public
POST /v1/realtime/sse/init Realtime token
GET /v1/realtime/sse/stream Public
POST /v1/realtime/tokens Bearer + tenant required
GET /v1/whoami Bearer + tenant

email-domains

Method Path Auth Scope Idempotency-Key
GET /v1/email-domains Bearer + tenant connections
GET /v1/email-domains/:id Bearer + tenant connections
POST /v1/email-domains/:id/refresh Bearer + tenant connections required
POST /v1/email-domains/:id/verify Bearer + tenant connections required
POST /v1/email-domains/register Bearer + tenant connections required

email-validation

Method Path Auth Scope Idempotency-Key
GET /v1/email-validation/:id Bearer + tenant inbox
POST /v1/email-validation/bulk Bearer + tenant inbox required
POST /v1/email-validation/single Bearer + tenant inbox required

files

Method Path Auth Scope Idempotency-Key
POST /v1/files Bearer + tenant inbox required
GET /v1/files/:slug Bearer + tenant inbox

flows

Method Path Auth Scope Idempotency-Key
GET /v1/flows Bearer + tenant inbox
POST /v1/flows Bearer + tenant inbox required
DELETE /v1/flows/:id Bearer + tenant inbox required
GET /v1/flows/:id Bearer + tenant inbox
PATCH /v1/flows/:id Bearer + tenant inbox required
POST /v1/flows/:id/duplicate Bearer + tenant inbox required
POST /v1/flows/:id/edges Bearer + tenant inbox required
DELETE /v1/flows/:id/edges/:edgeId Bearer + tenant inbox required
PATCH /v1/flows/:id/edges/:edgeId Bearer + tenant inbox required
POST /v1/flows/:id/enrol Bearer + tenant inbox required
POST /v1/flows/:id/generate Bearer + tenant inbox required
GET /v1/flows/:id/graph Bearer + tenant inbox
POST /v1/flows/:id/nodes Bearer + tenant inbox required
DELETE /v1/flows/:id/nodes/:nodeId Bearer + tenant inbox required
PATCH /v1/flows/:id/nodes/:nodeId Bearer + tenant inbox required
POST /v1/flows/:id/publish Bearer + tenant inbox required
GET /v1/flows/:id/runs Bearer + tenant inbox
GET /v1/flows/:id/runs/:runId Bearer + tenant inbox
POST /v1/flows/:id/simulate-ai-handoff Bearer + tenant inbox required
POST /v1/flows/:id/simulate-intent Bearer + tenant inbox required
GET /v1/flows/:id/validate Bearer + tenant inbox
GET /v1/flows/:id/versions Bearer + tenant inbox
POST /v1/flows/:id/versions/:versionId/restore Bearer + tenant inbox required

import

Method Path Auth Scope Idempotency-Key
POST /v1/inbox/import/campaign-links Bearer + tenant admin required
POST /v1/inbox/import/campaigns Bearer + tenant admin required
POST /v1/inbox/import/contacts Bearer + tenant admin required
POST /v1/inbox/import/flows Bearer + tenant admin required
GET /v1/inbox/import/jobs/:id Bearer + tenant admin
POST /v1/inbox/import/reviews Bearer + tenant admin required
POST /v1/inbox/import/segments Bearer + tenant admin required
POST /v1/inbox/import/threads Bearer + tenant admin required
POST /v1/inbox/import/tickets Bearer + tenant admin required

inbox

Method Path Auth Scope Idempotency-Key
POST /v1/connections/:connectionId/send-template Bearer + tenant inbox required
GET /v1/inbox/accounts Bearer + tenant inbox
PATCH /v1/inbox/accounts/:connectionId/settings Bearer + tenant inbox required
GET /v1/inbox/comments Bearer + tenant inbox
GET /v1/inbox/threads Bearer + tenant inbox
GET /v1/inbox/threads/:threadId Bearer + tenant inbox
POST /v1/inbox/threads/:threadId/actions Bearer + tenant inbox required
POST /v1/inbox/threads/:threadId/entries/:entryId/like Bearer + tenant inbox required
DELETE /v1/inbox/threads/:threadId/entries/:entryId/reaction Bearer + tenant inbox required
POST /v1/inbox/threads/:threadId/entries/:entryId/reaction Bearer + tenant inbox required
POST /v1/inbox/threads/:threadId/read Bearer + tenant inbox required
POST /v1/inbox/threads/:threadId/reply Bearer + tenant inbox required
PATCH /v1/inbox/threads/:threadId/routing Bearer + tenant inbox required
POST /v1/inbox/threads/:threadId/status Bearer + tenant inbox required
POST /v1/inbox/threads/:threadId/takeover Bearer + tenant inbox required

livechat

Method Path Auth Scope Idempotency-Key
GET /v1/livechat/:widgetKey/config Public
POST /v1/livechat/:widgetKey/conversation Public
GET /v1/livechat/:widgetKey/conversation/:visitorId/messages Public
POST /v1/livechat/:widgetKey/messages Public
POST /v1/livechat/:widgetKey/session Public
POST /v1/livechat/:widgetKey/sse/init Public

operator

Method Path Auth Scope Idempotency-Key
POST /v1/admin/tenants/merge Operator admin required
GET /v1/operator/campaigns Operator
GET /v1/operator/campaigns/:id Operator
GET /v1/operator/connections Operator
GET /v1/operator/connections/:id Operator
GET /v1/operator/contacts Operator
GET /v1/operator/contacts/:id Operator
GET /v1/operator/flows Operator
GET /v1/operator/imports Operator
GET /v1/operator/overview Operator
GET /v1/operator/reviews Operator
GET /v1/operator/segments Operator
GET /v1/operator/stats/:domain Operator
GET /v1/operator/templates Operator
GET /v1/operator/tenants Operator
GET /v1/operator/tenants/:tenantId/campaigns Operator
GET /v1/operator/tenants/:tenantId/connections Operator
GET /v1/operator/tenants/:tenantId/contacts Operator
GET /v1/operator/tenants/:tenantId/flows Operator
GET /v1/operator/tenants/:tenantId/imports Operator
GET /v1/operator/tenants/:tenantId/reviews Operator
GET /v1/operator/tenants/:tenantId/segments Operator
GET /v1/operator/tenants/:tenantId/summary Operator
GET /v1/operator/tenants/:tenantId/templates Operator
GET /v1/operator/tenants/:tenantId/threads Operator
GET /v1/operator/tenants/:tenantId/tickets Operator
GET /v1/operator/threads Operator
GET /v1/operator/threads/:id Operator
GET /v1/operator/threads/:id/entries Operator
GET /v1/operator/tickets Operator
GET /v1/operator/tickets/:id Operator
GET /v1/operator/usage Operator
GET /v1/operator/webhooks Operator
GET /v1/operator/webhooks/deliveries Operator

outbound

Method Path Auth Scope Idempotency-Key
GET /v1/admin/webhook-inbox Bearer + tenant admin
POST /v1/admin/webhook-inbox/:id/requeue Bearer + tenant admin required
GET /v1/webhooks Bearer + tenant admin
POST /v1/webhooks Bearer + tenant admin required
DELETE /v1/webhooks/:id Bearer + tenant admin required

publishing

Method Path Auth Scope Idempotency-Key
GET /v1/posts Bearer + tenant publish
POST /v1/posts Bearer + tenant publish required
DELETE /v1/posts/:id Bearer + tenant publish required
GET /v1/posts/:id Bearer + tenant publish
PATCH /v1/posts/:id Bearer + tenant publish required
POST /v1/posts/:id/retry Bearer + tenant publish required
GET /v1/posts/live-status Bearer + tenant publish

reports

Method Path Auth Scope Idempotency-Key
GET /v1/operator/reports/catalog Operator
GET /v1/operator/reports/presets Operator
POST /v1/operator/reports/query Operator required
GET /v1/reports/agents Bearer + tenant stats
GET /v1/reports/campaigns Bearer + tenant stats
GET /v1/reports/catalog Bearer + tenant stats
POST /v1/reports/export Bearer + tenant stats
GET /v1/reports/inbox Bearer + tenant stats
GET /v1/reports/presets Bearer + tenant stats
POST /v1/reports/query Bearer + tenant stats
GET /v1/reports/top-performing-agents Bearer + tenant stats

reviews

Method Path Auth Scope Idempotency-Key
GET /v1/reviews Bearer + tenant inbox
GET /v1/reviews/:id Bearer + tenant inbox
POST /v1/reviews/:id/read Bearer + tenant inbox required
DELETE /v1/reviews/:id/reply Bearer + tenant inbox required
POST /v1/reviews/:id/reply Bearer + tenant inbox required
PUT /v1/reviews/:id/reply Bearer + tenant inbox required
POST /v1/reviews/read-all Bearer + tenant inbox required

segments

Method Path Auth Scope Idempotency-Key
GET /v1/contacts/:contactId/segments Bearer + tenant inbox
GET /v1/segments Bearer + tenant inbox
POST /v1/segments Bearer + tenant inbox required
DELETE /v1/segments/:id Bearer + tenant inbox required
GET /v1/segments/:id Bearer + tenant inbox
PATCH /v1/segments/:id Bearer + tenant inbox required
DELETE /v1/segments/:id/members Bearer + tenant inbox required
GET /v1/segments/:id/members Bearer + tenant inbox
POST /v1/segments/:id/members Bearer + tenant inbox required

templates

Method Path Auth Scope Idempotency-Key
GET /v1/admin/templates Operator admin
POST /v1/admin/templates Operator admin required
DELETE /v1/admin/templates/:id Operator admin required
PATCH /v1/admin/templates/:id Operator admin required
GET /v1/templates Bearer + tenant inbox
POST /v1/templates Bearer + tenant inbox required
DELETE /v1/templates/:id Bearer + tenant inbox required
GET /v1/templates/:id Bearer + tenant inbox
PATCH /v1/templates/:id Bearer + tenant inbox required
POST /v1/templates/:id/duplicate Bearer + tenant inbox required
POST /v1/templates/:id/submit Bearer + tenant inbox required
POST /v1/templates/:id/sync Bearer + tenant inbox required
GET /v1/templates/meta Bearer + tenant inbox
POST /v1/templates/verify-media-url Bearer + tenant inbox required

tickets

Method Path Auth Scope Idempotency-Key
GET /v1/tickets Bearer + tenant inbox
POST /v1/tickets Bearer + tenant inbox required
GET /v1/tickets/:ticketId Bearer + tenant inbox
POST /v1/tickets/:ticketId/assign Bearer + tenant inbox required
POST /v1/tickets/:ticketId/close Bearer + tenant inbox required
POST /v1/tickets/:ticketId/reassign Bearer + tenant inbox required
POST /v1/tickets/:ticketId/reopen Bearer + tenant inbox required
POST /v1/tickets/mass-close Bearer + tenant inbox required
POST /v1/tickets/mass-reassign Bearer + tenant inbox required
GET /v1/tickets/mine Bearer + tenant inbox
GET /v1/tickets/statistics Bearer + tenant inbox

webhooks

Method Path Auth Scope Idempotency-Key
GET /webhooks/:integrationKey Public
POST /webhooks/:integrationKey Public
POST /webhooks/email Public