---
title: "List wholesale countries"
method: GET
path: "/api/v1/wholesale/countries"
tags: ["Wholesale"]
---

# List wholesale countries

`GET /api/v1/wholesale/countries`

## Request

- Base URL: `https://api.callnode.io`
- URL: `https://api.callnode.io/api/v1/wholesale/countries`
- Auth: API key in header `X-Api-Key` and API key in header `X-Timestamp` and API key in header `X-Signature`

Countries where wholesale inventory exists — US and international.

All `/api/v1/wholesale` endpoints are gated per request: wholesale must
be ACTIVE on your account (arranged with our team — raise a Wholesale
Activation request from the dashboard) and your business verification
must be complete. Otherwise requests return
`403 wholesale_not_activated` or `403 account_not_verified`.

`countryId` values are opaque signed tokens with a short lifetime —
fetch them per ordering session and never persist them.

## Response `200`

Countries with wholesale inventory.

- object
  - `countries` object[]
    - `countryId` string: Opaque token. Pass back verbatim; do not persist.
    - `countryName` string
    - `isUS` boolean

## Other responses

- `401`: Missing, unknown, or badly signed credentials — check the HMAC and the timestamp skew.
- `403`: Wholesale not active on this account, or business verification incomplete.

---

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