Outbound
Request body
Org-scoped phone number id to dial FROM. Must have an outbound_call agent attached so a SIP outbound trunk has been provisioned.
E.164 phone number to dial, e.g. +15555550123
Optional: dial AS this specific agent. Must already be attached to the from-number as an outbound_call binding. Provide this XOR team_id; omit both to let the backend pick a bound dialer at random (load-balanced across the fleet).
Optional: dial AS this specific team (its default member answers). Must already be attached to the from-number as an outbound_call binding. Provide this XOR agent_id; omit both for random pick.
Optional: run THIS call on a specific published revision of agent_id instead of the revision pinned on the number's binding (pin-at-bind). Use to canary a newly published revision on live traffic before re-binding the number. Only valid alongside agent_id; the revision must belong to that agent and be published — drafts stay undialerable on live numbers (use /web-call for draft testing). Omitted → the binding's pinned revision, exactly as before. The call's context_variables are validated against the SAME revision that runs.
Optional seed values for the bound agent's typed context variables, applied once at session bootstrap. Each key must be a variable declared on the agent or one of its bound workflows; values are coerced against the variable's type/enum. An unknown key or an uncoercible value is rejected (422). System vars are frozen on-file; derived seeds satisfy the collection gate. Only honored for single-agent bindings in v1 (ignored for team-bound dialers).
Client-supplied dedup key; a retry of a still-queued call returns the same queued envelope (no second dial). Alphanumeric + dash/underscore, 1-120 chars.
Test/instant dispatch: bypass the calling-hours window and dispatch immediately. Rate-limited separately; concurrency limits still apply.
Override the org's queued-call expiry for THIS call. Seconds from enqueue after which the call is expired if still waiting in the queue (never dialed). 0 disables expiry for this call even if the org has a default; omit (null) to use the org's call_expiry setting. Max 30 days.
Bypass the outbound pause gate and dispatch inline. Valid ONLY with instant=True (enforced by the schema validator). Requires the communication:manage permission — enforced in the router, not here. No effect on the queued (non-instant) path.
Response
Successful Response