List communications
const url = 'https://example.com/v1/communication';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/v1/communication \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Page size, max 500 (default 100); a larger value is rejected with 400.
Include soft-deleted rows when true.
Comma-separated field names to OR-search via filter_query. Accepted: call_sid (exact, cal_ prefix tolerated), recipient (substring, case-insensitive).
Search term matched across the fields named in filter_or.
Published scenario version the run used.
Draft scenario version the run used.
Filter by the scenario recorded on the communication.
Comma-separated related resources to resolve into included. Accepted: agent, scenario, results. An unlisted name is rejected with 400.
Header Parameters
Section titled “Header Parameters”Target account for account-scoped resources. Principals without an account scope (superuser, tenant API key) MUST send it to declare which account to operate in. Account-scoped principals may omit it; if sent it must match their own account or the request is rejected with scope_conflict. For tenant API keys the account must belong to the key’s tenant.
Responses
Section titled “Responses”OK
object
object
Scenario the communication runs; empty on legacy rows created before the scenario binding was recorded.
Published scenario version; null when the run used a draft.
Draft scenario version; null when the run used a published version. Exactly one of version / draft_version is set.
object
object
object
object
Call duration in seconds, measured by the execution layer; 0 until the call completes.
Whether this is a test communication.
Whether personal-data recording consent was granted for the call.
Whether a stored call recording exists for this communication.
Whether a saved call execution history exists for this communication.
Total matching communications, ignoring paging.
Page size applied to this request.
Offset applied to this request.
Whether records beyond this page match the query.
Related resources resolved for this page, deduplicated. A to-one relation is keyed by the related resource’s own id, so a row resolves it as included.agents[row.agent_sid]. A to-many relation is keyed by the owning row’s id and holds an array, so a row resolves it as included.results[row.id]. A relation’s map is present whenever it was requested, empty if nothing resolved; a reference the caller may not read is simply absent from the map and the row keeps its sid.
object
object
object
Selects the gateway kind; the matching sid (number_sid / number_pool_sid) must be set and the other empty (422 otherwise).
object
Schedule strategy
Strategy args (free-form)
object
object
object
object
object
Required when use_alpha is true; one of the provider’s alphas.
Required when use_alpha is false; one of the provider’s numbers.
object
A scenario as embedded in another resource’s included map: every Scenario field except constructor. The constructor is the entire scenario graph and is unbounded in size, so it would dominate a page that embeds one scenario per row; fetch /v1/scenario/{id} for it.
object
Result deliveries per communication id.
object
object
object
object
Example
{ "items": [ { "direction": "inbound", "communication_status": "new", "call_status": "busy" } ], "included": { "agents": { "additionalProperty": { "gateway_type": "number", "status": "active" } }, "scenarios": { "additionalProperty": { "type": "constructor" } }, "results": { "additionalProperty": [ { "status": "new" } ] } }}Invalid request body or parameters
object
Stable lower_snake_case usecase code (e.g. scenario_not_found)
Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered
Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)
object
Validation errors keyed by entity
object
object
SCN1xx constructor validation code
Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "data": { "topic": "example", "errors": { "scenario": [ { "code": "example", "message": "example", "summary": "example", "tree_id": "example", "node_id": "example", "output_type": "example", "duplicate_tree_index": "example", "duplicate_node_index": "example", "property": "example", "invalid_value": "example" } ] }, "agents": [ "example" ] }}Missing or invalid credentials
object
Stable lower_snake_case usecase code (e.g. scenario_not_found)
Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered
Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)
object
Validation errors keyed by entity
object
object
SCN1xx constructor validation code
Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "data": { "topic": "example", "errors": { "scenario": [ { "code": "example", "message": "example", "summary": "example", "tree_id": "example", "node_id": "example", "output_type": "example", "duplicate_tree_index": "example", "duplicate_node_index": "example", "property": "example", "invalid_value": "example" } ] }, "agents": [ "example" ] }}Internal server error
object
Stable lower_snake_case usecase code (e.g. scenario_not_found)
Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered
Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)
object
Validation errors keyed by entity
object
object
SCN1xx constructor validation code
Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "data": { "topic": "example", "errors": { "scenario": [ { "code": "example", "message": "example", "summary": "example", "tree_id": "example", "node_id": "example", "output_type": "example", "duplicate_tree_index": "example", "duplicate_node_index": "example", "property": "example", "invalid_value": "example" } ] }, "agents": [ "example" ] }}