Channels

Add a WhatsApp account

Changed on

Connects a WhatsApp Business Account shared with us through a Multi-Partner Solution to the calling sender profile. Send x-profile-id for the profile the account belongs to.

Two fields, because everything else is derived. waba_id says which of your organization's shared accounts this is — you hold one per client, and nothing else can say which. phone_number_id names the account's number, which is what assigns it to the profile as the number it sends from.

The solution the account arrived through, the client business portfolio that owns it, the access token and its expiry are all resolved from your organization. They are not accepted here: the first two are Meta's answer about provenance, and the token is minted per client business and rotates roughly every sixty days, so a value you sent would be stale before it was useful.

phone_number_id is optional. Omit it to connect the account now and settle the number later — the channel reads as ACTION_NEEDED with reason_code CHANNEL_007, and the profile's WhatsApp messages fail until a number is named. They do not fall back to your organization's account. Call this endpoint again with phone_number_id to name one.

The same resolution runs behind channels.whatsapp on POST /v3/sender-profiles, so connecting at create and connecting afterwards fill the same fields.

Returns the account, not every channel you have — adding one cannot change a market or an RCS agent, and GET /v3/channels is the whole picture. Giving an account up is not self-service: ask support, because deregistering a number lands in your own Meta business.

post/v3/channels/whatsapp

Request

  • Base URL
    https://api.sent.dm
  • URL
    https://api.sent.dm/v3/channels/whatsapp
  • Auth
    • API key in header x-api-key
    • or HTTP bearer

Headers

Idempotency-Keystring

Unique key to ensure idempotent request processing. Must be 1-255 alphanumeric characters, hyphens, or underscores. Responses are cached for 24 hours per key per customer.

x-profile-idstring uuid

Profile UUID to scope the request to a child profile. Only organization API keys can use this header. The profile must belong to the calling organization.

Request body

sandboxboolean

Sandbox flag - when true, the operation is simulated without side effects Useful for testing integrations without actual execution

waba_idstring required

WhatsApp Business Account id — one of the accounts shared into your organization. Required: the organization holds one per client, and nothing but the caller says which is meant here.

phone_number_idstring nullable

The Meta phone-number id of the number on WabaId, which assigns it to this profile as the number it sends from. It is not checked against the account here, so name the account's number; it is refused if another profile already uses it.

Optional: omit it to connect the account and settle the number later. Nothing picks one on your behalf.

Example request

{
  "waba_id": "102290129340398",
  "phone_number_id": "106540352242922",
  "sandbox": false
}

Response

The account is connected to the profile

successboolean

Indicates whether the request was successful

Example response

{
  "data": {
    "status": "PROVISIONING"
  }
}

Changes