Authentication
Every /v1 request authenticates with an API key. Keys belong to your organization. A key
can send from and read any WhatsApp number connected to that organization.
Create an API key
Section titled “Create an API key”- Sign in to the Hello dashboard.
- Open Integrations and select Create API Key.
- Copy the key. It starts with
hello_live_.
Treat the key like a password. Keep it on your server, never in a browser or mobile app, and delete it from Integrations if it leaks.
Send the key
Section titled “Send the key”Put the key in the Authorization header as a Bearer token:
Authorization: Bearer hello_live_xxxxxxxxxxxxxxxxcurl "$HELLO_API_URL/v1/ping" \ -H "Authorization: Bearer $HELLO_API_KEY"API base URL
Section titled “API base URL”Requests go to your organization’s API base URL, shown on the Integrations page of the dashboard next to your API keys. Every example in these docs reads it from a shell variable:
export HELLO_API_URL="<API base URL from the dashboard>"Authentication errors
Section titled “Authentication errors”| Status | code |
Cause |
|---|---|---|
401 |
UNAUTHORIZED |
No key was sent, or the key is wrong, deleted or disabled. The message is deliberately the same in every case. |
403 |
TEST_MODE_KEY_UNSUPPORTED |
The key is a legacy test-mode key. Create a live key. |
{ "message": "Invalid or disabled API key", "code": "UNAUTHORIZED"}Your phone number ID and WABA ID
Section titled “Your phone number ID and WABA ID”Sending a message needs a phone number ID: the numeric WhatsApp ID of the connected number
to send from, used in the path of POST /v1/{phone_number_id}/messages.
Managing templates needs the WABA ID: the WhatsApp Business Account the number belongs to,
used in the path of GET /v1/{waba_id}/templates and the other
template endpoints. An organization can connect several numbers, and several numbers can share
one WABA.
Both IDs are shown on the Accounts page of the dashboard, next to each connected number. The
media endpoints identify the number by the phone number itself
(phone_number, digits with country code), not by either ID.