GET /whatsapp/accounts/{id}/phone-number
The number: display number, verified name, quality rating, messaging limit tier, name status, status and onboarding state; refresh=true reads it from Meta and saves it
BearerAuthAuthorizationBearer <token>API key sk_...
id*stringWhatsApp account id
refresh?stringRead the current values from Meta
"true""1"WhatsAppAccount
application/json- response
accountId?stringplatform?"whatsapp""whatsapp"accountName?stringphoneNumberId?stringCloud API phone number id (= platformAccountId)
wabaId?string|nullbusinessId?string|nullexternalId?string|nullstatus?stringphoneNumber?onboarding?curl -X GET 'https://example.com/api/v1/whatsapp/accounts/string/phone-number'{ "accountId": "string", "platform": "whatsapp", "accountName": "string", "phoneNumberId": "string", "wabaId": "string", "businessId": "string", "externalId": "string", "status": "string", "phoneNumber": { "displayPhoneNumber": "string", "verifiedName": "string", "qualityRating": "string", "messagingLimitTier": "string", "nameStatus": "string", "platformType": "string", "codeVerificationStatus": "string", "status": "string", "checkedAt": "2019-08-24T14:15:22Z", "throughput": null }, "onboarding": { "connection": "embedded_signup", "onboarding": "cloud_api", "subscribed": true, "subscribeError": "string", "registered": true, "registerError": "string", "registerSkipped": "string", "onboardedAt": "2019-08-24T14:15:22Z" }}POST /whatsapp/connect POST
Connect a number with an existing token (system user or test token) instead of Embedded Signup: reads the number and the WABA with it, subscribes the app to the WABA and registers the number (failures are reported in onboarding, not as errors). The token is stored encrypted. Emits account.connected
POST /whatsapp/accounts/{id}/register POST
Register (or re-register) the number for the Cloud API with pin, or a random 6-digit PIN (stored encrypted). Meta allows 10 attempts per 72 hours