---
title: "Manage Calls"
method: POST
path: "/{Version}/{Phone-Number-ID}/calls"
tags: ["Calls"]
---

# Manage Calls

`POST /{Version}/{Phone-Number-ID}/calls`

## Request

- Base URL: `https://graph.facebook.com`
- URL: `https://graph.facebook.com/{Version}/{Phone-Number-ID}/calls`
- Auth: HTTP bearer

Use this endpoint to initiate, accept, reject, or terminate WhatsApp calls.

**For initiating or managing a call:**
Send a POST request with the appropriate action (connect, pre_accept, accept, reject, terminate).

**For terminating a call:**
Send a POST request with action "terminate" and the call_id.

**Note:** Response with error code 138006 indicates a lack of a call request permission for this business number from the WhatsApp user.

## Headers

- `User-Agent` string
- `Authorization` string, required
- `Content-Type` 'application/json' | 'application/x-www-form-urlencoded' | 'multipart/form-data', required

## Request body

- union
  - CallRequestPayload
    - `messaging_product` string, required: Messaging product
    - `to` string, required: The number being called (callee)
    - `action` 'connect' | 'pre_accept' | 'accept' | 'reject' | 'terminate', required: The action being taken on the given call ID
    - `session` object: Contains the session description protocol (SDP) type and description language
      - `sdp_type` 'offer' | 'answer', required: SDP type - "offer" for connect action, "answer" for accept action
      - `sdp` string, required: The SDP info of the device on the other end of the call. The SDP must be compliant with RFC 8866
    - `biz_opaque_callback_data` string: An arbitrary string you can pass in that is useful for tracking and logging purposes. Any app subscribed to the "calls" webhook field on your WhatsApp Business Account can receive this string, as it is included in the calls object within the subsequent Call Terminate Webhook payload. Cloud API does not process this field. Maximum 512 characters
  - CallTerminateRequestPayload
    - `messaging_product` string, required: Messaging product
    - `call_id` string, required: The WhatsApp call ID
    - `action` 'terminate', required: Action to terminate the call

## Response `200`

Call Management Success

- union
  - CallResponsePayload
    - `messaging_product` string
    - `calls` object[]
      - `id` string
  - CallTerminateResponsePayload
    - `success` boolean

---

[API](https://skmtc.dev/meta/apis/whatsapp-business-messaging.md) - [All operations](https://skmtc.dev/meta/apis/whatsapp-business-messaging/llms.txt) - [OpenAPI document](https://skmtc.dev/meta/apis/whatsapp-business-messaging/revisions/5c1973265369?raw)
