Sign inGet Started

List Voice destination countries

GET
/v1/voice/destinations
const destinations = await bird.voice.destinations.list();
for (const destination of destinations.data) {
  console.log(destination.country_code, destination.enabled, destination.status);
}
Response200
{
  "data": [
    {
      "country_code": "US",
      "country_name": "Netherlands",
      "dial_code": "31",
      "region": "western_europe",
      "super_region": "europe",
      "status": "available",
      "daily_spend_limit": {
        "limit": {
          "amount": "0.00995",
          "currency_code": "USD"
        },
        "used": {
          "amount": "0.00995",
          "currency_code": "USD"
        },
        "remaining": {
          "amount": "0.00995",
          "currency_code": "USD"
        },
        "resets_at": "2026-10-09T00:00:00Z"
      }
    }
  ]
}

Returns every country the Voice service supports, each annotated with whether your workspace has enabled calling to it, whether the platform supports calling it (status), and any daily spend limit you set for it with today's usage. A supported, enabled country still refuses calls once its daily_spend_limit.remaining reaches zero. Use this to render and manage your destination allowlist.

Response Payload

data
array of object
required

The Voice destination countries, each annotated with your workspace's enabled setting.

Show child attributes
data.country_code
string
required
data.country_name
string
required

Full English country name.

data.dial_code
string

International dialling prefix, without the leading plus. Absent for countries that have none.

data.region
nullable string
data.super_region
nullable string
data.enabled
boolean
required

Whether your workspace has enabled calling to this country.

data.status
string
required

This country's Voice callability at the destination level, independent of your enabled setting. available means we place calls there; not_supported means we do not.

Possible values (may grow over time): available, not_supported

data.high_risk_destination
boolean
required

Whether we treat this country as a high-risk calling destination.

data.daily_spend_limit
nullable object
required

Your workspace's daily spend limit for calls to this country and today's usage toward it. It applies whether or not the country is enabled, including to verification calls. Null when you have not set one, before your organization has a wallet, or while your wallet currency cannot be read; a limit you set is still enforced then.

Show child attributes
data.daily_spend_limit.limit
object
required

The most your workspace can spend on calls to this country each day, in your organization's wallet currency. Calls are also held to the workspace's own daily limit, and whichever is reached first refuses the call.

Show child attributes
data.daily_spend_limit.used
nullable object
required

Used toward today's limit for this country, including calls in progress. A call counts its expected cost when it starts; the part it did not use returns when it is billed. Null when today's usage cannot be read right now; the limit is still enforced.

Show child attributes
data.daily_spend_limit.used.amount
string
required

Decimal amount as a string, in major currency units.

data.daily_spend_limit.used.currency_code
string
required

ISO 4217 currency code.

data.daily_spend_limit.remaining
nullable object
required

What is left of this country's limit today, never below zero. Null when today's usage cannot be read.

Show child attributes
data.daily_spend_limit.resets_at
string
required

When usage resets to zero, at midnight UTC.

total
integer
required

Total number of destination countries.

Continue with the documentation, guides and examples for this topic.