Before you send
Senders
The WhatsApp numbers this workspace can send from. Read this once at startup and cache it; numbers change rarely.
List them
curl https://sendrixbackend.exebee.com/v1/senders \
-H "Authorization: Bearer sk_live_..."{
"object": "list",
"data": [
{
"id": "snd_c9288d80-3860-45c0-bcec-577b19aaab62",
"object": "sender",
"name": "Acme Support",
"phone_number": "+91 93262 60811",
"phone_number_id": "1264821296704728",
"waba_id": "781319295038011",
"is_default": true,
"quality_rating": "GREEN",
"quality_flagged": false,
"messaging_tier": "TIER_1K",
"credentials_valid": true,
"last_verified_at": "2026-08-28T07:49:30.193Z",
"created_at": "2026-08-17T07:21:55.342Z"
}
],
"limit": 50, "offset": 0, "total": 1, "has_more": false
}Requires the senders:read scope. Archived numbers are never returned: if it is in this list, you can send from it.
Fields
| Field | Meaning |
|---|---|
id | What you pass as sender_id when sending. Omit it and we use the default. |
phone_number_id | Meta's own id for this number. The one that appears in Meta's logs, so quote it when debugging with both open. |
is_default | The number used when a send does not name one. Exactly one is true. |
quality_rating | GREEN, YELLOW or RED, straight from Meta. Falling quality is what precedes a tier drop. May be null before Meta has scored it. |
messaging_tier | How many people this number may start conversations with in a day. Set by Meta. |
credentials_valid | Whether the stored credential still worked when we last asked Meta. false means sends will fail until the number is reconnected. |
One sender
curl https://sendrixbackend.exebee.com/v1/senders/snd_c9288d80-3860-45c0-bcec-577b19aaab62 \
-H "Authorization: Bearer sk_live_..."A sender belonging to another workspace answers 404, exactly as an id that never existed does. See Errors.
Credentials are never returned
Your Meta access token and app secret are encrypted at rest and are not on any API response, ever. Nothing you can read here can be used to send outside Sendrix.