---
title: "List offerable number countries"
method: GET
path: "/v1/phone-numbers/countries"
tags: ["Phone Numbers"]
---

# List offerable number countries

`GET /v1/phone-numbers/countries`

The phone number countries available to purchase, each with its flat
monthly price (cents), regulatory tier, whether it needs end-user KYC
(Tier 3/4), and per-feature availability (PSTN calls, WhatsApp, SMS,
and WhatsApp Business Calling outbound). Drives the country picker.
Tier-4 countries appear only when enabled.

## Response `200`

Offerable countries, cheapest first.

- object
  - `countries` object[]
    - `code` string — ISO 3166-1 alpha-2
    - `tier` 1 | 2 | 3 | 4
    - `monthlyCents` integer
    - `needsKyc` boolean
    - `callsAvailable` boolean — Regular phone (PSTN) calling on the number, inbound + outbound. Available on every offerable country.
    - `whatsappAvailable` boolean — WhatsApp can be enabled on numbers from this country.
    - `smsAvailable` boolean — Whether this country's number type can do SMS. Use it to filter the picker when the buyer wants SMS (pair with `wantsSms` on purchase).
    - `outboundCallingAvailable` boolean — WhatsApp Business Calling (BIC) outbound availability, a Meta feature blocked in some countries. NOT the PSTN Calls feature (`callsAvailable`).
    - `inStock` boolean — Live carrier-stock snapshot (refreshed every 6h + on availability checks): false when NO offered type currently has deliverable inventory, so a purchase would fail. Treat as advisory; the purchase itself re-checks.
    - `types` object[] — Every number type offered in this country (default first). Capabilities, KYC tier, monthly price, and stock are per type. The country-level fields above mirror the first (default) entry. Pass the chosen `numberType` to POST /v1/phone-numbers/purchase.
      - `numberType` 'local' | 'mobile' | 'national' | 'toll_free'
      - `tier` 1 | 2 | 3 | 4
      - `needsKyc` boolean
      - `monthlyCents` integer
      - `whatsappAvailable` boolean — Always false for toll_free (WhatsApp does not reliably register toll-free numbers).
      - `smsAvailable` boolean
      - `callsAvailable` boolean
      - `inStock` boolean

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/revisions/f81ca70ea6b9/schema)
