Docs
Esc

Suggested

QuickstartGet started
Webhooks and signaturesMessaging
Create a messagemessages.create · POST /v1/accounts/{AC}/messages
RATE_LIMITED429 · Rate limit exceeded.
message.deliveredMessage resource
Contents

API reference

Senders

API reference descriptions are provided in English to preserve the exact published contract.

List sender pools

GET/v1/accounts/{AC}/sender-pools

senderPools.listSDK operation getV1AccountsByAcSenderPools

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Create a sender pool

POST/v1/accounts/{AC}/sender-pools

senderPools.createSDK operation postV1AccountsByAcSenderPools

Request body

  • namestring (max 128 chars)Required
  • senderSidsstring (WA… SID)[]Required
  • strategyenumRequired

    round_robinleast_loadedsticky_contact

Fetch a sender pool

GET/v1/accounts/{AC}/sender-pools/{SP}

senderPools.retrieveSDK operation getV1AccountsByAcSenderPoolsBySp

Parameters

  • SPstring (SP… SID)Required

Update a sender pool

PATCH/v1/accounts/{AC}/sender-pools/{SP}

senderPools.updateSDK operation patchV1AccountsByAcSenderPoolsBySp

Parameters

  • SPstring (SP… SID)Required

Request body

  • namestring (max 128 chars)
  • senderSidsstring (WA… SID)[]
  • strategyenum

    round_robinleast_loadedsticky_contact

Delete a sender pool

DELETE/v1/accounts/{AC}/sender-pools/{SP}

senderPools.deleteSDK operation deleteV1AccountsByAcSenderPoolsBySp

Parameters

  • SPstring (SP… SID)Required

List WhatsApp senders and current provider readiness

GET/v1/accounts/{AC}/senders

senders.listSDK operation getV1AccountsByAcSenders

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Subscribe a WABA and register a Cloud API sender

POST/v1/accounts/{AC}/senders

senders.createSDK operation postV1AccountsByAcSenders

Request body

  • displayNamestring (max 256 chars)Required
  • registrationobjectRequired
  • wabaSidstring (WB… SID)Required
  • phoneNumberstring (max 32 chars)
  • providerPhoneNumberIdstring (max 128 chars)

List provider storage regions permitted by this account's residency policy

GET/v1/accounts/{AC}/senders/storage-regions

senders.storageRegions.listSDK operation getV1AccountsByAcSendersStorageRegions

Fetch a WhatsApp sender

GET/v1/accounts/{AC}/senders/{WA}

senders.retrieveSDK operation getV1AccountsByAcSendersByWa

Parameters

  • WAstring (WA… SID)Required

Update sender management settings

PATCH/v1/accounts/{AC}/senders/{WA}

senders.updateSDK operation patchV1AccountsByAcSendersByWa

A display-name change creates a durable Operation. statusCallbackUrl is a local verified-endpoint binding. Calling settings fail closed until Meta publishes an exact supported versioned write contract.

Parameters

  • WAstring (WA… SID)Required

Request body

  • callingSettingsobject
  • displayNamestring (max 256 chars)
  • nameEvidencestring (max 2000 chars)
  • statusCallbackUrlstring (uri, max 2048 chars) | null

Remove a sender locally without changing Meta assets

DELETE/v1/accounts/{AC}/senders/{WA}

senders.deleteSDK operation deleteV1AccountsByAcSendersByWa

Parameters

  • WAstring (WA… SID)Required

Block WhatsApp users

POST/v1/accounts/{AC}/senders/{WA}/block-users

senders.blockUsersSDK operation postV1AccountsByAcSendersByWaBlockUsers

Parameters

  • WAstring (WA… SID)Required

Request body

  • usersstring (max 64 chars)[]Required

Unblock WhatsApp users

DELETE/v1/accounts/{AC}/senders/{WA}/block-users

senders.blockUsers.deleteSDK operation deleteV1AccountsByAcSendersByWaBlockUsers

Parameters

  • WAstring (WA… SID)Required

Request body

  • usersstring (max 64 chars)[]Required

Get the current reconciled WhatsApp business profile

GET/v1/accounts/{AC}/senders/{WA}/business-profile

senders.businessProfile.listSDK operation getV1AccountsByAcSendersByWaBusinessProfile

Parameters

  • WAstring (WA… SID)Required

Create an Operation-backed WhatsApp business profile update

PATCH/v1/accounts/{AC}/senders/{WA}/business-profile

senders.businessProfile.updateSDK operation patchV1AccountsByAcSendersByWaBusinessProfile

Parameters

  • WAstring (WA… SID)Required

Request body

  • reasonstring (max 2000 chars)Required
  • aboutstring (max 139 chars) | null
  • addressstring (max 256 chars) | null
  • categorystring (max 128 chars) | null
  • descriptionstring (max 512 chars) | null
  • emailstring (email, max 320 chars) | null
  • profileImageMediaSidstring (ME… SID) | null
  • websitesstring (uri, max 2048 chars)[]

Deregister a Cloud API sender

POST/v1/accounts/{AC}/senders/{WA}/deregister

senders.deregisterSDK operation postV1AccountsByAcSendersByWaDeregister

Creates a monitored DEREGISTER Operation. Coexistence numbers cannot be deregistered.: the provider decides the final state, so the answer is 200 with outcome: unknown and resolutionBy naming the Operation to watch.

Parameters

  • WAstring (WA… SID)Required

Request body

  • stepUpTokenstring (max 256 chars)Required

Generate, upload and verify a sender Flow encryption key

POST/v1/accounts/{AC}/senders/{WA}/flows/keys

senders.flows.keysSDK operation postV1AccountsByAcSendersByWaFlowsKeys

Parameters

  • WAstring (WA… SID)Required

Request body

  • publicKeystring (max 8192 chars)Required

Read Managed business-name requests

GET/v1/accounts/{AC}/senders/{WA}/name-requests

senders.nameRequests.listSDK operation getV1AccountsByAcSendersByWaNameRequests

Parameters

  • WAstring (WA… SID)Required

Fetch sender opt-out keyword configuration

GET/v1/accounts/{AC}/senders/{WA}/opt-out-config

senders.optOutConfig.listSDK operation getV1AccountsByAcSendersByWaOptOutConfig

Parameters

  • WAstring (WA… SID)Required

Replace sender opt-out keyword configuration

PUT/v1/accounts/{AC}/senders/{WA}/opt-out-config

senders.optOutConfig.updateSDK operation putV1AccountsByAcSendersByWaOptOutConfig

Parameters

  • WAstring (WA… SID)Required

Request body

  • confirmationobjectRequired
  • enabledbooleanRequired
  • languagesstring (max 35 chars)[]Required
  • matchModeenumRequired

    tolerantexactstarts_withcontains

  • optInKeywordsstring (max 64 chars)[]Required
  • optOutKeywordsstring (max 64 chars)[]Required
  • scopeOnOptOutenumRequired

    marketingall

  • confirmationTextsobject
  • excludedKeywordsstring (max 64 chars)[]

Read retained sender quality transitions

GET/v1/accounts/{AC}/senders/{WA}/quality-history

senders.qualityHistory.listSDK operation getV1AccountsByAcSendersByWaQualityHistory

Parameters

  • WAstring (WA… SID)Required
  • fromstring (date-time)query
  • tostring (date-time)query
  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

    For subsequent pages retain the response from/to range; the cursor is bound to the exact sender, range and request scope.

Rotate the sender two-step verification PIN

POST/v1/accounts/{AC}/senders/{WA}/two-step-pin

senders.twoStepPinSDK operation postV1AccountsByAcSendersByWaTwoStepPin

Creates a monitored REGISTER Operation running the SET_TWO_STEP command. The PIN is sealed through the credential broker and is never returned or logged.

Parameters

  • WAstring (WA… SID)Required

Request body

  • stepUpTokenstring (max 256 chars)Required
  • pinstring (pattern ^[0-9]{6}$)

Request or submit a sender verification code

POST/v1/accounts/{AC}/senders/{WA}/verify

senders.verifySDK operation postV1AccountsByAcSendersByWaVerify

Creates a REGISTER Operation; verification codes are stored only as short-lived encrypted envelopes.

Parameters

  • WAstring (WA… SID)Required

Request body

  • codestring (pattern ^[0-9]{1,16}$)
  • codeMethodenum

    smsvoice

  • localestring (pattern ^[a-z]{2,3}_[A-Z]{2}$)

Read the phone-level webhook override of a sender

GET/v1/accounts/{AC}/senders/{WA}/webhook-override

senders.webhookOverride.listSDK operation getV1AccountsByAcSendersByWaWebhookOverride

Parameters

  • WAstring (WA… SID)Required

Set or clear the phone-level webhook override of a sender

PATCH/v1/accounts/{AC}/senders/{WA}/webhook-override

senders.webhookOverride.updateSDK operation patchV1AccountsByAcSendersByWaWebhookOverride

Records the desired phone-level webhook_configuration and queues the SENDER_WEBHOOK_OVERRIDE management job that writes it to Meta. Phone-level takes precedence over the WABA-level override and the app default; the daily subscription reconcile keeps it converged.

Parameters

  • WAstring (WA… SID)Required

Request body

  • overrideCallbackUristring (pattern ^https://, max 2048 chars) | nullRequired
  • reasonstring (max 2000 chars)

Disconnect a WABA and fence all of its senders

POST/v1/accounts/{AC}/wabas/{WB}/disconnect

wabas.disconnectSDK operation postV1AccountsByAcWabasByWbDisconnect

Parameters

  • WBstring (WB… SID)Required

Request body

  • confirmDisplayNamestring (max 256 chars)Required
  • stepUpEvidencestring (max 4096 chars)Required