Endpoint summary
List organization runs
GET /executions
200 with { data, meta }. Clients must tolerate new run statuses, triggers, and failure reasons.
Tests are hidden by default. Set includeTests=true to include them; explicitly filtering triggeredBy=manual_test also selects test runs. Use contact here, rather than the contactId parameter accepted by the flow-specific run list.
Get a run report
GET /flows/executions/:id
execution: status, trigger, contact, timestamps, failure, request variables, final non-system variables, graph hash, and campaign/binding/parent links;nodeRuns: ordered node-level execution facts;children: direct sub-flow runs;leg: the run’s own call outcome when present;messages: SMS and WhatsApp activity;- cost items and total; and
nextReadInMsfor polling.
Request an outbound call
POST /calls/request
This asynchronous endpoint creates a run for a Voice (call) flow and wakes the call driver.
201 response:
GET /flows/executions/:id for the outcome. Repeated POST requests can create additional calls. Check the original run before retrying a request whose result is uncertain.
List calls
GET /calls
Query parameters include standard pagination/search/sort plus:
outcome;- inclusive
fromandtoISO timestamps; source(campaign,adhoc,forward, orinbound);contactId,campaignId,didId,bindingId,flowId,agentId, oraudienceId; andhasRecording=true|false.
startedAt, durationMs, and contactName. Newest calls appear first by default.
Get a call report
GET /calls/:id
200 with leg facts, derived outcome, merged technical and node-run timeline, recording metadata, cost breakdown, and the flow or agent context that drove the call. Returns 404 CALL_NOT_FOUND for an unknown or cross-organization call.
Export calls
POST /calls/export
The body accepts the same filters as GET /calls plus search, but no pagination or sorting. The entire filtered set is exported newest-first.
201 response contains the export ID and initial status. An overly broad export can return 422 CALL_EXPORT_TOO_LARGE.
Poll it with:
completed, the response includes a short-lived presigned download URL. Store the downloaded CSV securely; it contains the full matching set rather than one page.
Endpoint catalog
Find the documented operations for each resource.
Pagination and request retries
Page-based lists usepage=1 and limit=20 by default, with a maximum limit of 100, unless the endpoint above specifies an exception. Follow the response’s pagination metadata. See pagination for the response envelope.
If a request returns 429, wait for Retry-After when supplied before retrying. For a mutation that times out, check the resource or run before repeating the request; repeating it can duplicate work. See errors for authentication and validation failures.