Initiate carrier outreach
Initiate an outbound carrier outreach (call or email). Validates outreach limits and load data before initiating.
Authentication: Supports API key and bearer token authentication.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Headers
A unique key (up to 255 printable ASCII characters, e.g. a UUID) that makes a retry of this request safe. Envoy stores the response for 24 hours; a retry with the same key and the same request returns it again with Idempotent-Replayed: true instead of running twice. The same key with a different request returns 422 idempotency_key_reused; while the first request is still running, 409 idempotency_key_in_progress. 5xx and 429 responses are not stored.
Request
Outreach channel: ‘call’ to initiate a voice call, ‘email’ to start an email negotiation
Response
v1 carrier response - wraps domain CarrierModel with prefixed IDs.
Communication channel: call, email, or whatsapp
Direction: inbound or outbound
Async-execution lifecycle. Outbound outreaches initiated via the async path move pending → active → completed|failed; inbound and legacy sync paths are written as completed.
Terminal failure detail when status=‘failed’
When this outreach’s email bounced back undelivered, if it did. Independent of status, which stays ‘completed’ on a bounce because the SEND succeeded — the failure happened afterwards, at the recipient’s mail server. A client showing outreach state must treat a non-null value here as a failure regardless of status, or it will report a delivered email that never arrived.
Human-readable bounce reason paired with delivery_failed_at (e.g. ‘mailbox does not exist’). Distinct from error_reason, which describes a send that never left.
True if initiated by the automated outreach worker (the AI agent), not a manual rep action.

