List WABA numbers in the current organization
GET/numbers
Returns a paginated list. Filters: status, qualityRating, limit, skip. Sorted by createdAt desc.
Parameters
| Field | In | Type | Description |
|---|---|---|---|
statusoptional | query | string | Values:availableconnecteddisconnectedflaggedpending |
qualityRatingoptional | query | string | Values:greenyellowredunknown |
limitoptional | query | integer | |
skipoptional | query | integer |
Responses
200Default ResponseResponse fields and example
Field Type Description itemsrequiredobject[]items[].idrequiredstringBranded Number id ( num_prefix + 21 nano-id chars).items[].organizationIdrequiredstringBranded Organization id ( org_prefix + 21 nano-id chars).items[].phoneNumberIdrequiredstringMeta phone_number_id from the WABA Graph API. items[].wabaIdrequiredstringMeta WhatsApp Business Account id. items[].displayPhonerequiredstringE.164 phone number — PII_SENSITIVE, masked in cross-tenant responses. items[].statusrequiredstringValues: availableconnecteddisconnectedflaggedpendingitems[].qualityRatingrequiredstringValues: greenyellowredunknownitems[].messagingTierrequiredstringValues: tier_250tier_1ktier_2ktier_10ktier_100kunlimiteditems[].rateLimitrequiredobjectitems[].rateLimit.perSecondrequiredintegeritems[].rateLimit.perDayrequiredintegeritems[].metarequiredobjectitems[].meta.verifiedNameoptionalstringDisplay name registered with WhatsApp Business. items[].meta.byooptionalbooleanTrue when the number runs under the customer's own WABA. items[].meta.nameStatusoptionalstringSituação do nome de exibição na Meta. Ausente ⇒ desconhecido (número sem sync). Não deduza aprovação da presença de verifiedName: a Meta devolve o nome mesmo quando o recusa.Values:approvedpendingrejectedexpirednoneitems[].meta.partnerRemovedAtoptionalstring | null · date-timeWhen Meta reported ( account_updatePARTNER_REMOVEDorPARTNER_APP_UNINSTALLED) that the customer removed CCX from this number's account. Only a mark: status and history are untouched, but sending through this number is expected to fail.null/absent = no such report pending.items[].meta.partnerRemovedReasonoptionalstring | nullWhich Meta event set partnerRemovedAt; set and cleared together with it: -PARTNER_REMOVED— the customer stopped sharing the account with CCX. -PARTNER_APP_UNINSTALLED— the customer uninstalled the CCX app (or removed its permissions), which revokes the token CCX sends with.Values:PARTNER_REMOVEDPARTNER_APP_UNINSTALLEDitems[].profileoptionalobjectitems[].profile.aboutoptionalstringitems[].profile.addressoptionalstringitems[].profile.emailoptionalstringitems[].profile.websiteoptionalstringitems[].profile.verticaloptionalstringitems[].profile.profilePictureUrloptionalstringitems[].lastMetaSyncAtoptionalstring | null · date-timeitems[].createdAtrequiredstring · date-timeISO-8601 timestamp in UTC. items[].updatedAtrequiredstring · date-timeISO-8601 timestamp in UTC. totalrequiredintegerJSON{ "items": [ { "id": "num_aB3xY9zQ1pTkLmNoPqRsT", "organizationId": "org_pGgniw5L7CTDSZDwjDrQ2", "phoneNumberId": "1234567890123456", "wabaId": "9876543210987654", "displayPhone": "+5511999998888", "status": "connected", "qualityRating": "green", "messagingTier": "tier_1k", "rateLimit": { "perSecond": 80, "perDay": 100000 }, "meta": { "verifiedName": "Acme Sales", "byo": false, "nameStatus": "rejected", "partnerRemovedAt": "2026-10-16T12:00:00.000Z", "partnerRemovedReason": "PARTNER_REMOVED" }, "profile": { "about": "string", "address": "string", "email": "string", "website": "string", "vertical": "string", "profilePictureUrl": "string" }, "lastMetaSyncAt": "2026-10-16T12:00:00.000Z", "createdAt": "2026-04-07T17:30:00.000Z", "updatedAt": "2026-04-07T17:30:00.000Z" } ], "total": 3}
401RFC 7807 problem details for UNAUTHORIZED (401).403RFC 7807 problem details for FORBIDDEN (403).
Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes
curl example
curl 'https://api.messages.ccxcompany.co/numbers' \ -H "Authorization: Bearer $CCX_API_KEY"