Accept a call
Updated: Mar 23, 2026
When a consumer calls your Page, you receive a connect webhook. You have 60 seconds to accept the call. If you don’t respond, the call terminates on the consumer side with “Not Answered” and you receive a terminate webhook.
Before you begin
- Complete the setup described in the Calling overview
- Subscribe to the
callswebhook field
Accept a consumer-initiated call
Request syntax
POST /{page-id}/calls { "platform": "messenger", "call_id": "{call-id}", "action": "accept", "session" : { "sdp_type" : "offer", "sdp" : "<<RFC 4566 SDP>>" } }
Request parameters
| Property | Description |
|---|---|
platform Optional string | Only Messenger is supported |
call_id string | ID of the call from the connect webhook |
action string | Set to accept |
session JSON |
Example response
{ "success" : true, "session" : { "sdp_response" : "<<RFC 4566 SDP>>", "sdp_renegotiation" : "<<RFC 4566 SDP>>" } }
The response may include both
sdp_response and sdp_renegotiation. If both are present, first apply the answer, then the renegotiation offer to the peer connection and regenerate the local answer.Error response
The following errors can occur:
- Invalid call ID or Page ID
- Invalid connection info (for example, SDP or ICE)
- Permissions or authorization errors
- Call already accepted
- Cannot accept a failed or terminated call
- Calling app is not call owner
For more details, see the Messenger Platform error codes reference.
Next steps
- Learn how to reject or end a call
- See the end-to-end call flow for a complete walkthrough