Display Name is approved, but WhatsApp Cloud API is asking to register the Display Name
Must Have: You must have a WhatsApp Cloud API App in development mode and a verified number.
Problem: Even after your Display Name is approved in the Meta Business Manager, when you try to send a message, you receive an error stating that the number is not registered or that you need to re-register the display name.
Why it Happens
Approval of the Display Name and registration of the phone number are two separate steps.
- Step 1: You submit and get the Display Name approved by WhatsApp/Meta.
- Step 2: You must register your phone number with that Display Name using the API (via cURL or SDK).
- Until Step 2 is done, the number is not linked to the Display Name → which is why you see the error.
Solution: Register the Number with the Approved Display Name You need to call the /register endpoint with the phone number ID and the PIN you received during setup.
Disclaimer: I didn’t have a PIN code (2FA) with me. So I removed the PIN in the WhatsApp Manager and then resent the 6-digit PIN code randomly via WhatsApp Business API. It got approved with the following response :-)
curl - location 'https://graph.facebook.com/v22.0/<phone-number-id>/register' \
- header 'Content-Type: application/json' \
- header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
- data '{
"messaging_product": "whatsapp",
"pin": "XXXX"
}'
Response :
{
"success": true
}
-
Replace <Phone-Number-ID> with your actual phone number ID (not the business ID).
-
Replace <ACCESS_TOKEN> with your permanent system user access token. you may find this into App Manager (under development mode)
-
Replace “pin” with the 6-digit PIN that you set when adding the phone number inside WhatsApp Manager.
Possiblely Common Mistakes
Using Business ID instead of Phone Number ID → always use the phone number ID. Wrong or expired PIN (2FA) You can reset it inside WhatsApp Manager → “Edit” → “Registration PIN”.
Successful
After Successful Registration The number gets linked to the display name. You can now send messages using the /messages endpoint. and Display Name
Content : Medium