Call this conversation's contact back
POST/api/conversations/:conversationId/call/start
Opens an outbound call: the media sidecar mints an SDP offer, we hand it
to Meta, and the answer arrives later over the calls webhook. Takes no
body — the recipient, the channel and the recording policy all follow
from the conversation.
The call lands in the contact's LIVE WhatsApp thread rather than a new
one, so voice_conversation_id may differ from the conversation the
agent pressed the button in; the panel navigates there.
Permission is checked against Meta first — see
GET /api/conversations/{conversationId}/call/permission.
Authorized via the conversation reply ability.
Request
Responses
- 201
- 401
- 403
- 404
- 422
The call is dialing.
Not authenticated. code: account_disabled means the member's seat was deactivated in this workspace: the session is over even though the token was not revoked (clients sign out and clean up).
Authenticated but not allowed.
Resource not found (or not visible to the current tenant).
The call could not be placed. A code is present when the reason is actionable (no permission, no payment method); detail carries the provider's own words when it had any; neither is present when Meta accepted the request but returned no call id, which leaves nothing to report beyond the failure itself.