How to Configure Calling API

This guide outlines how to enable and configure WhatsApp Calling via the Cloud API for business phone numbers.

In this documentation, you will learn:

Enabling via the WhatsApp Manager

2

Select your WhatsApp Account.

3

Click on Phone Numbers.

4

Click the gear icon next to the phone number you are using for calling.

5

Click the More dropdown, then select Calls.

WhatsApp Manager Voice Calls Setting

Enabling programmatically

1

Find the phone_number_id by calling the Health Status endpoint,

Alternatively, you can find it in the Client Hub under WhatsApp Channel Section → WABA Channel External ID.

2

Use the following endpoint and body to complete enabling

Endpoint

POST https://waba-v2.360dialog.io/calling/settings

--header 'D360-API-KEY: ••••••'

Request body

{
  "calling": {
    "status": "ENABLED",
    "call_icon_visibility": "DEFAULT",
    "call_hours": {
      "status": "ENABLED",
      "timezone_id": "America/Manaus",
      "weekly_operating_hours": [
        {
          "day_of_week": "MONDAY",
          "open_time": "0400",
          "close_time": "1020"
        },
        {
          "day_of_week": "TUESDAY",
          "open_time": "0108",
          "close_time": "1020"
        }
      ],
      "holiday_schedule": [
        {
          "date": "2026-01-01",
          "start_time": "0000",
          "end_time": "2359"
        }
      ]
    },
    "callback_permission_status": "ENABLED"
  }
}

3

Finally, you should receive the following response:

{ "success": true }

Fetching current call settings

You can also fetch the current call settings following these steps:

1

To fetch the current call settings, use the following endpoint

GET https://waba-v2.360dialog.io/calling/settings

--header 'D360-API-KEY: ••••••'

2

The response returns the current status, icon visibility, and permission status:

{
  "calling": {
    "status": "ENABLED",
    "call_icon_visibility": "DEFAULT",
    "callback_permission_status": "ENABLED",
    "call_hours": {
      "status": "ENABLED",
      "timezone_id": "[REDACTED]",
      "weekly_operating_hours": [
        {
          "day_of_week": "MONDAY",
          "open_time": "0400",
          "close_time": "1020"
        },
        {
          "day_of_week": "TUESDAY",
          "open_time": "0108",
          "close_time": "1020"
        }
      ],
      "holiday_schedule": [
        {
          "date": "2026-01-01",
          "start_time": "0000",
          "end_time": "2359"
        }
      ]
    },
    "sip": {
      "status": "ENABLED",
      "servers": [
        {
          "hostname": "[REDACTED]",
          "sip_user_password": "[REDACTED]"
        }
      ]
    }
  },
  <Other non-calling feature configuration...>
}

Webhook

A new set of webhook events will be exposed for calling-enabled apps to subscribe to. Those will be received as standard messages related webhooks.

Webhook events include:

  • connect: user-initiated or business-initiated call starting

  • terminate: call ended

  • status: for business-initiated (e.g., ringing, accepted, rejected)

If you'd like to use SIP, please, use this section to understand how to configure it:

Enabling the call icon

When calling is enabled:

  • The call icon appears in chat and business info (for recent contacts or users with the number saved).

  • You can hide it using call_icon_visibility = DISABLE_ALL

  • Icon updates may take time depending on client versions and contact recency.

Common errors

Please, check the following table with errors and solutions. If you can't find your case, you can contact our Support team:How to get support.

Error code
Description
Resolution

138000

Calling not enabled

Ensure API call to /settings is made and successful

138001

Receiver uncallable

Check user’s WhatsApp client and permissions

138006

No approved call permission

Trigger call permission request first

138012

Business call limit exceeded

Wait 24h or reduce attempt

Last updated

Was this helpful?