---
title: "Update enabled Voice destination countries"
method: PATCH
path: "/v1/voice/destinations"
tags: ["voice-destinations"]
---

# Update enabled Voice destination countries

`PATCH /v1/voice/destinations`

## Request

- Base URL: `https://us1.platform.bird.com`
- URL: `https://us1.platform.bird.com/v1/voice/destinations`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `bird_session`

Enables or disables specific destination countries for your workspace, and sets or removes their daily spend limits. Only the countries listed in the request change; any country you do not list keeps its current setting. Each code must be a country the Voice service supports, or the request is rejected and nothing changes; removing a daily spend limit is the exception and accepts any country code. A daily spend limit caps what your workspace spends on calls to a country each day, whether or not it is enabled.

## Headers

- `Idempotency-Key` string
- `X-Workspace-Id` string
- `X-Organization-Id` string

## Request body

- VoiceDestinationsUpdate
  - `destinations` DestinationSetting[], required: The destination countries to change. Only the countries listed here change, and only the fields you send; anything else keeps its current setting. A country listed more than once takes its last `enabled`, but may set or remove `daily_spend_limit` only once. A limit can be set only on a country the Voice service supports; removing one accepts any country code. Otherwise the request is rejected and nothing changes.
    - `country_code` string, required: ISO 3166-1 alpha-2 country code.
    - `enabled` boolean: Whether to enable (`true`) or disable (`false`) this destination country. Omit it to leave the country's enabled setting unchanged.
    - `daily_spend_limit` VoiceDestinationDailySpendLimitUpdate: Sets or removes this country's daily spend limit; omit it to leave the limit unchanged. Once today's spend reaches the limit, new calls to the country are refused, verification calls included, whether or not it is enabled; a call already in progress is not cut off, so spend can pass the limit by what that call costs.
      - `limit` Money, required
        - `amount` string, required: Decimal amount as a string, in major currency units.
        - `currency_code` string, required: ISO 4217 three-letter currency code.

## Response `200`

The updated Voice destination countries with your workspace's enabled settings.

- VoiceDestinationList
  - `data` VoiceDestination[], required: The Voice destination countries, each annotated with your workspace's enabled setting.
    - `country_code` string, required: ISO 3166-1 alpha-2 country code.
    - `country_name` string, required: Full English country name.
    - `dial_code` string: International dialling prefix, without the leading plus. Absent for countries that have none.
    - `region` string, nullable: The commercial region this country belongs to, for grouping a destination list the way it is bought rather than alphabetically. `null` for a country we have not assigned yet. Bird defines these regions independently of ISO and UN M49. A country can move between them, so treat the set as open.
    - `super_region` string, nullable: The continent-scale group the region rolls up into. Derived from `region`, and `null` whenever that is. Treat the set as open.
    - `enabled` boolean, required: Whether your workspace has enabled calling to this country.
    - `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.
    - `high_risk_destination` boolean, required: Whether we treat this country as a high-risk calling destination.
    - `daily_spend_limit` VoiceDestinationDailySpendLimit, required
      - `limit` Money, required
        - `amount` string, required: Decimal amount as a string, in major currency units.
        - `currency_code` string, required: ISO 4217 three-letter currency code.
      - `used` Money, required
        - `amount` string, required: Decimal amount as a string, in major currency units.
        - `currency_code` string, required: ISO 4217 three-letter currency code.
      - `remaining` Money, required
        - `amount` string, required: Decimal amount as a string, in major currency units.
        - `currency_code` string, required: ISO 4217 three-letter currency code.
      - `resets_at` string, date-time, required: When usage resets to zero, at midnight UTC.
  - `total` integer, required: Total number of destination countries.

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Insufficient permissions
- `404`: Resource not found
- `409`: Resource conflict
- `422`: The request has invalid field values, violates a business rule, or carries a query parameter the endpoint does not declare. Field validation errors use `type: validation_error` and include the affected fields in `details`. Business-rule errors identify the failed rule in `type`.
- `429`: Rate limit exceeded
- `500`: Internal server error
- `503`: The service is temporarily unavailable. If `Retry-After` is present, wait for that delay before retrying; otherwise, retry with exponential backoff. Reuse the same idempotency key and request when retrying a mutation.

---

[API](https://skmtc.dev/messagebird/apis/bird-api.md) · [All operations](https://skmtc.dev/messagebird/apis/bird-api/llms.txt) · [OpenAPI document](https://skmtc.dev/messagebird/apis/bird-api/revisions/6dfce1179799?raw)
