API Reference
This page describes available endpoints, required authentication, request parameters, response formats, and error codes.
For all get requests, see filter options.
Get Clients
Retrieve all Clients associated with a specific Partner account.
GET https://hub.360dialog.io/api/v2/partners/{partner_id}/clients
Request example
curl --request GET
--url https://hub.360dialog.io/api/v2/partners/partner_id/clients
--header 'Authorization: '
--header 'Content-Type: application/json'Path Parameters
partner_id*
string
The ID of the partner.
Example: examplePA
Query Parameters
filters
string
A JSON object of params and their expected values
limit
string
Objects limit to return in the response
offset
string
Show the results starting from an offset
sort
string
Use minus - symbol for descending sorting
Headers
Content-Type
String
application/json
Get Channel Usage
Retrieve channel-level pricing analytics for messages delivered within a specific date range. This endpoint is aligned with Meta’s pricing structure and provides granular breakdowns.
GET https://hub.360dialog.io/api/v2/partners/{partner_id}/clients/{client_id}/channels/{channel_id}/info/usage
Overview:
Returns current pricing breakdowns for a specific phone number (channel) within a WABA for any messages delivered within a specified date range.
Abstracts all Meta-specific complexity, so partners don’t need to implement or maintain their own integration with Meta’s pricing services.
Allows partners to proactively monitor pricing without needing direct integration with Meta.
Includes MM Lite messaging pricing and statistics
Query parameters
Use the following input parameters to filter and shape the usage data:
start_date*
UNIX Timestamp
The start date in UNIX Timestamp. Returned data will be equal to or newer than the specified date.
Example: 1672531200
end_date*
UNIX Timestamp
The end date in UNIX Timestamp. Returned data will be equal to or older than the specified date.
Example: 1672531200
granularity*
string
The granularity by which you would like to retrieve the analytics. One of DAILY, HALF_HOUR, MONTHLY.
countries
list of ISO codes
The countries list for which you would like to retrieve analytics. If not provided, usage data will be returned for all countries you have communicated with.
Example: US, IN, BR
pricing_types
list
Filter by pricing type. Supported values: FREE_CUSTOMER_SERVICE, FREE_ENTRY_POINT, REGULAR.
pricing_categories
list
Filter by pricing type. Supported values: AUTHENTICATION, AUTHENTICATION_INTERNATIONAL, MARKETING, SERVICE, UTILITY, MARKETING_LITE.
metrics
list
Which metrics to include. Defaults to all.
Options: COST, VOLUME.
dimensions
list
Breakdowns you would like to apply to your metrics. If not provided, we return results without any breakdowns. Supported options: PRICING_CATEGORY, PRICING_TYPE, COUNTRY, PHONE, TIER, DIRECTION.
Dimensions explained
pricing_category– Message category (e.g., authentication, marketing, utility, MM lite).pricing_type– Message type:regular,free_entry_point(when the conversation is started by the user using CTAs like “Click-to-WhatsApp” or “Facebook WhatsApp CTA”) , orfree_customer_service(when the conversation was opened by the user by directly messaging you).country– Destination country of the user.tier- Applicable monthly pricing tier (e.g., 0:750000). More about pricing tiers
Request example
Response example
Rate Limits:
10 requests/hour per phone number (channel)
200 requests/hour per WABA
This endpoint offers data directly from Meta. Slight discrepancies may occur with existing info/balance endpoints due to varying usage collection and processing schedules.
Get Channel Balance
Use this endpoint to retrieve balance information only for a specific channel. Usage metrics returned by this endpoint are deprecated and will no longer be returned.
GET https://hub.360dialog.io/api/v2/partners/{partner_id}/clients/{client_id}/channels/{channel_id}/info/balance
Path Parameters
partner_id*
string
ID of the partner
client_id*
string
ID of the client
channel_id*
string
ID of the channel
Query Parameters
start_date*
string
The start date in UNIX Timestamp. Returned data will be equal to or newer than the specified date.
Example: 1672531200
end_date*
string
The end date in UNIX Timestamp. Returned data will be equal to or older than the specified date.
Example: 1672531200
granularity*
string
The granularity by which you would like to retrieve the analytics. Supported Options: DAY , MONTH
Defaults with MONTH if no value is provided in the request.
app_ids
To get usage accumulated from selected app_ids (e.g. ?app_ids=100,200)
Request example
Response example
Get Client Balance
Soft Deprecation Notice: Starting from July 1, 2025, the usage portion of this endpoint is soft-deprecated. Marketing Messages API (MM API) usage is not displayed in the "usage" object.
It previously returned client-level balance and usage data, but is now replaced by Get Channel Balance and Get Channel Usage.
WhatsApp conversation usage is always associated with a 360dialog Client Hub account, identified by the client_id, regardless of the number of channels.
GET https://hub.360dialog.io/api/v2/partners/{{partner_id}}/clients/{{client_id}}/info/balance
Returns the usage and balance associated with a specific Client.
Rate limit: 5 requests per 30 seconds.
Request example
Path Parameters
client_id*
string
The ID of the client.
Example: exampleCL
partner_id*
string
The ID of the partner.
Example: examplePA
Query Parameters
end_date
UNIX Timestamp
The end date in UNIX Timestamp (UTC). Returned data will be equal to or older than the specified date.
Example: 1672531200
start_date
UNIX Timestamp
The start date in UNIX Timestamp (UTC). Returned data will be equal to or newer than the specified date.
Example: 1672531200
granularity
string
The granularity by which you would like to retrieve the analytics.
Supported Options:
DAY , MONTH
Defaults with MONTH if no value is provided in the request.
The balance field is only relevant for clients who are registered with direct payment. When a client is partner-paid, the balance field will return 0.
usage: The array "usage" provides a breakdown of the channel's usage in different categories. These categories may include authentication, marketing, service, utility. Each category within the array includes details such as paid quantity, price, and quantity.
This allows you to analyze the usage patterns and associated costs for different aspects of the channel's messaging services.
Get Channels
GET https://hub.360dialog.io/api/v2/partners/{{partner_id}}/channels
Returns all channels associated with a specific Partner ID.
Request example
Path Parameters
partner_id*
string
The ID of the partner.
Example: examplePA
Query Parameters
limit
string
Objects limit to return in the response
offset
string
Show the results starting from an offset
sort
string
Use minus - symbol for descending sorting
Get Managed Numbers
Retrieve the channels or phone numbers associated with a specific Client account that can be managed generate API KEY
GET https://hub.360dialog.io/api/v2/partners/{partner_id}/clients/{client_id}/shared_client_numbers
Request Example:
Path Parameters
partner_id*
string
The ID of the partner.
Example: examplePA
client_id*
string
The ID of the client.
Example: exampleCL
Set Partner Webhook URL
POST https://hub.360dialog.io/api/v2/partners/{partner_id}/webhook_url
Request example
Path Parameters
partner_id*
string
The ID of the partner.Example: examplePA
Request Body
webhook_url*
string
URL of the webhook resource
Once the Webhook URL is configured, events related to WABAs and channels associated with the specific Partner account should start to arrive. Browse all webhook events here
Get Partner Webhook URL
GET https://hub.360dialog.io/api/v2/partners/{partner_id}/webhook_url
Request example
Path Parameters
partner_id*
string
The ID of the partner.Example: examplePA
Set Redirect URL
PATCH https://hub.360dialog.io/api/v2/partners/{partner_id}
The Redirect URL defines where a client is sent after completing the Integrated Onboarding flow. Setting a Redirect URL is required to use Integrated Onboarding.
Request example
Path Parameters
partner_id*
string
The ID of the partner.Example: examplePA
Request Body
webhook_url*
string
Partner webhook URL
partner_redirect_url*
string
The Redirect URL you will use
Get Partner Info
GET https://hub.360dialog.io/api/v2/partners/{partner_id}
Request example
Path Parameters
partner_id*
string
The ID of the partner.Example: examplePA
Create API Key
POST https://hub.360dialog.io/api/v2/partners/{partner_id}/channels/{channel_id}/api_keys
Create an API KEY for a specific channel.
Request example
Path Parameters
channel_id*
String
The ID of the channel.
Example: exampleCH
partner_id*
String
The ID of the partner.
Example: examplePA
See Partner Permissions.
Update Max Channels
PATCH https://hub.360dialog.io/api/v2/partners/{{partner_id}}/clients/{{client_id}}
By default, a 360dialog Client can have up to 10 channels. This limit can be increased or decreased using the Max Channel endpoint.
This endpoint updates the maximum number of channels allowed for a specific client by setting the max_channels property in the request payload.
Request example
Path Parameters
client_id*
string
The ID of the client.
Example: exampleCL
partner_id*
string
The ID of the partner.
Example: examplePA
Request Body
partner_payload
string
Can be requested with the Get list of clients associated to your Partner Hub endpoint
max_channels
integer
Defines how many channels a Client can create.
Update Display Name
PUT {base_url}/partners/{partner_id}/clients/{client_id}/channels/{channel_id}
This endpoint supports updating a phone number's display name by proxying the request to Meta's API.
Example Request
Headers
Content-Type
application/json
Path Parameters
client_id*
string
The ID of the client.
Example: exampleCL
partner_id*
string
The ID of the partner.
Example: examplePA
Body
name
string
New display name
Response
Cancel Subscription
POST https://hub.360dialog.io/api/v2/partners/{{partner_id}}/clients/{{client_id}}/channels/{{channel_id}}/control/cancellation_request
Cancels the subscription for a specific channel.
Once requested, subscription charges will be stopped, and the client will be able to pay 360dialog directly if desired. The client will receive an automated email notification informing them of this action. The cancellation terms will apply.
Example Request
Path Parameters
channel_id*
String
The ID of the channel.
Example: exampleCH
client_id*
String
The ID of the client.
Example: exampleCL
parter_id*
String
The ID of the partner.
Example: examplePA
Reactivate channel
POST https://hub.360dialog.io/api/v2/partners/{partner_id}/clients/{client_id}/channels/{channel_id}/control/reactivate
This endpoint allows Partners to revoke a previously requested cancellation for a specific channel, restoring it to an active state if the channel is still eligible. Once a channel and its integration are permanently deleted (30+ days after termination), reactivation is no longer possible, and the number must be onboarded again.
Requirements:
Only available for clients under the partner-paid payment model.
The number must be registered to the same WhatsApp Business Account (WABA).
The channel has been cancelled but not deleted.
The API key and number webhook URL remain unchanged; no reconfiguration is required.
POST https://hub.360dialog.io/api/v2/partners/{partner_id}/clients/{client_id}/channels/{channel_id}/control/reactivate
Example request:
Path parameters:
partner_id*
string
The ID of the partner.
Example: examplePA
client_id*
string
The ID of the client.
Example: exampleCL
channel_id*
string
The ID of the channel.
Example: exampleCH
Allow Clients to Add Phone Numbers
This endpoint is available only for Partners utilising the Partner-Paid model.
PATCH https://hub.360dialog.io/api/v2/partners/{partner_id}
The default value is ON. When set to OFF, the "Add Number" button will not be visible in the 360dialog Client Hub.
Example request
Path Parameters
partner-id*
String
The ID of the partner.
Example: examplePA
Request Body
allow_client_to_add_phone_no*
boleean
default: true
partner_redirect_url*
string
webhook_url*
string
Enable Local Storage
POST /https://hub.360dialog.io/api/v2 /partners/{partner_id}/clients/{client_id}/channels/{channel_id}/control/enable_local_storage
Enable local storage for a channel.
Request Example:
Path Parameters
channel_id*
String
The ID of the channel.
Example: exampleCH
client_id*
String
The ID of the client.
Example: exampleCL
partner_id*
String
The ID of the partner.
Example: examplePA
Request Body
data_localization_region*
string
Australia, value: AU
Indonesia, value: ID
South Africa, value: ZA
India, value: IN
Canada, value: CA
Japan, value: JP
Singapore, value: SG
South Korea, value: KR
Germany, value: DE
Switzerland, value: CH
United Kingdom, value: GB
Brazil, value: BR
Bahrain, value: BH
Disable Local Storage
POST https://hub.360dialog.io/api/v2 /partners/{partner_id}/clients/{client_id}/channels/{channel_id}/control/disable_local_storage
Enable local storage for a channel.
Request Example:
Path Parameters
channel_id*
String
The ID of the channel.
Example: exampleCH
client_id*
String
The ID of the client.
Example: exampleCL
partner_id*
String
The ID of the partner.
Example: examplePA
Set Default Data Localization Region
PATCH https://hub.360dialog.io/api/v2 /partners/{partner_id}/settings/default_data_localization_region
Set default data localization region. Once this region is configured, it will be used as default for all new Cloud API numbers registered with the specified Partner Account.
Request Example
Path Parameters
partner_id*
string
The ID of the partner.
Example: examplePA
Request Body
default_data_localization_region*
String
Allowed values: AU, ID, IN, JP, SG, KR, DE, CH, GB, BR, BH, ZA, CA
Last updated
Was this helpful?