---
title: "List numbers for selection"
method: GET
path: "/v1/connect/whatsapp/select-phone-number"
tags: ["Connect"]
---

# List numbers for selection

`GET /v1/connect/whatsapp/select-phone-number`

## Request

- Base URL: `https://zernio.com/api`
- URL: `https://zernio.com/api/v1/connect/whatsapp/select-phone-number`
- Auth: HTTP bearer

Fetch the WhatsApp phone numbers available across the user's WhatsApp Business Accounts (WABAs) after a headless OAuth flow.

WhatsApp OAuth grants access at the WABA level. When a connected WABA has 2 or more phone numbers, you must call this endpoint to list them and then `POST /v1/connect/whatsapp/select-phone-number` to bind one to the Zernio profile. Single-phone WABAs auto-complete during the OAuth callback and never reach this endpoint.

Use the `profileId` and `tempToken` returned in the headless redirect (`step=select_phone_number`).

Alternative: if you already know `wabaId` and `phoneNumberId` (e.g. from Meta Business Suite), use `connectWhatsAppCredentials` instead, which skips this two-step flow.

## Query parameters

- `profileId` string, required
- `tempToken` string, required

## Headers

- `X-Connect-Token` string

## Response `200`

Phone numbers fetched successfully

- object
  - `phoneNumbers` object[]
    - `id` string: Phone Number ID (Meta)
    - `display_phone_number` string: E.164-formatted display number
    - `verified_name` string: Meta-verified business name
    - `quality_rating` string: GREEN, YELLOW, RED, or UNKNOWN
    - `name_status` string: APPROVED, PENDING_REVIEW, DECLINED, or NONE
    - `messaging_limit_tier` string: TIER_250, TIER_1K, TIER_10K, TIER_100K, or TIER_UNLIMITED
    - `wabaId` string: WhatsApp Business Account ID (Zernio enrichment)
    - `wabaName` string: WABA display name (Zernio enrichment)

## Other responses

- `400`: Missing profileId or tempToken
- `401`: Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `500`: Failed to fetch phone numbers (Meta API error, expired token, or insufficient permissions)

## Changes

- **2026-10-06** `f8c8f34fb41a`: 3 warning
  - added the new `account` enum value to the `details/budgetScope` response property for the response status `400`
  - added the new `account` enum value to the `details/budgetScope` response property for the response status `401`
  - added the new `account` enum value to the `details/budgetScope` response property for the response status `500`
- **2026-10-02** `d556591af3f6`: 9 info
  - added the optional property `code` to the response with the `401` status
  - added the optional property `details` to the response with the `401` status
  - added the optional property `docUrl` to the response with the `400` status
  - added the optional property `docUrl` to the response with the `401` status
  - …5 more
- **2026-09-30** `16a7b9d5373e`: 2 info
  - removed the `platform` enum value from the `details/budgetScope` response property for the response status `400`
  - removed the `platform` enum value from the `details/budgetScope` response property for the response status `500`
- **2026-09-25** `2c04683ce694`: 8 info
  - added the optional property `details/adAccountId` to the response with the `400` status
  - added the optional property `details/adAccountId` to the response with the `500` status
  - added the optional property `details/createdObjects` to the response with the `400` status
  - added the optional property `details/createdObjects` to the response with the `500` status
  - …4 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/connect/whatsapp/select-phone-number/get.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/4e74db179e73?raw)
