> ## Documentation Index
> Fetch the complete documentation index at: https://www.vobiz.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Vobiz Messaging API - Coverage

> Look up SMS rules for every destination country with the Vobiz Messaging API - accepted sender types, registration requirements, two-way support, opt-out rules, link rules, prohibited content and sending windows.

The Coverage endpoints describe what each destination country allows for SMS. You use them before your first send to a new country to choose a sender type, check whether registration is needed, and keep content and send times within local rules. The dataset covers more than 250 countries and territories and is the same for every account.

## The coverage object

[`GET /coverage/{country}`](/docs/sms/api/coverage/get-coverage) returns the full record for one country. [`GET /coverage`](/docs/sms/api/coverage/list-coverage) returns a summary row per country with `country`, `name`, `region`, `dialCode`, `senders`, `registrationRequired`, `twoWay`, `optOutMandatory` and `hasSendWindow`.

| Field | Type | Meaning |
| - | - | - |
| `country` | string | ISO 3166-1 alpha-2 code, for example `US`. |
| `name` | string | English name of the country or territory. |
| `region` | string or `null` | Geographic region, for example `Northern America`. |
| `dialCode` | string | Country calling code without the `+`. |
| `mcc` | string or `null` | Mobile country code. |
| `numberPortability` | boolean or `null` | Whether subscribers can keep their number when they change network. |
| `localVsInternationalTraffic` | boolean or `null` | `true` when local and international senders follow different rules. |
| `senders` | object | Accepted sender types: `alphanumeric`, `shortCode`, `longNumber`. |
| `registration` | object | `required`, plus free-text `durationDays`, `informationRequired`, `documentsRequired`, `alphanumericExtraSteps`. |
| `urls` | object | Link rules: `allowed` and `whitelistingRequired`. |
| `optOutMandatory` | boolean or `null` | `true` when messages must offer an opt-out such as STOP. |
| `twoWay` | boolean or `null` | `true` when recipients can reply. |
| `prohibitedTopics` | string\[] | Content categories that may not be sent, for example `Gambling`. |
| `prohibitedNotes` | string or `null` | Detail on prohibited or restricted content. |
| `sendWindow` | object or `null` | Permitted hours: `weekday`, `saturday`, `sunday`. `null` when there is no window. |
| `marketNotes` | string or `null` | Free-text guidance for the market. |
| `updatedAt` | string | When the dataset was last refreshed (ISO 8601). |

### Local and international rules

Rules that can differ by sender origin use a `{ "local": ..., "international": ... }` pair. `local` applies when you send from a sender in the destination country, and `international` when you send from abroad. Each value is `true`, `false` or `null` when unknown. This shape is used by every field under `senders`, `registration.required` and `urls`, and by `registrationRequired` in list rows.

## Endpoints

| Method | Endpoint | What it does |
| - | - | - |
| `GET` | [`/coverage`](/docs/sms/api/coverage/list-coverage) | List a summary row for every country, filtered by name, region, two-way support or registration. |
| `GET` | [`/coverage/{country}`](/docs/sms/api/coverage/get-coverage) | Retrieve the full coverage record for one country. |

## Filtering the list

All filters on `GET /coverage` combine, and the result is sorted by country name with a `total` count.

| Parameter | Matches |
| - | - |
| `q` | A substring of the country name, an exact ISO code, or the start of the dial code. `united`, `GB` and `+44` all work. |
| `region` | An exact region name, case-insensitive, for example `Western Europe`. |
| `twoWay` | `true` for countries where recipients can reply, `false` for the rest. |
| `registrationRequired` | `true` for countries that require registration for local or international traffic. |

The boolean filters accept `true`/`false`, `1`/`0` and `t`/`f`. Any other value returns `400`, for example `twoWay must be true or false`. An unknown code on `GET /coverage/{country}` returns `404` with `country not found`.

### Example

```bash cURL theme={null}
curl "https://api.vobiz.ai/api/v1/sms/coverage?region=Northern%20America&twoWay=true" \
  -H "X-Auth-ID: MA_XXXXXXXX" \
  -H "X-Auth-Token: YOUR_AUTH_TOKEN"
```

```json Response theme={null}
{
  "countries": [
    {
      "country": "CA",
      "name": "Canada",
      "region": "Northern America",
      "dialCode": "1",
      "senders": {
        "alphanumeric": { "local": false, "international": false },
        "shortCode": { "local": true, "international": true },
        "longNumber": { "local": true, "international": true }
      },
      "registrationRequired": { "local": true, "international": true },
      "twoWay": true,
      "optOutMandatory": true,
      "hasSendWindow": false
    },
    {
      "country": "US",
      "name": "United States",
      "region": "Northern America",
      "dialCode": "1",
      "senders": {
        "alphanumeric": { "local": false, "international": false },
        "shortCode": { "local": true, "international": true },
        "longNumber": { "local": true, "international": true }
      },
      "registrationRequired": { "local": true, "international": true },
      "twoWay": true,
      "optOutMandatory": true,
      "hasSendWindow": false
    }
  ],
  "total": 2,
  "updatedAt": "2026-10-09T09:49:01Z"
}
```

## Using coverage before you send

* **Pick a sender.** Read `senders` for the destination. Where `alphanumeric` is `false`, send from a number; where `longNumber.international` is `false`, use a local or short-code sender.
* **Register first.** Where `registration.required` is `true`, complete registration before you send. `durationDays`, `informationRequired` and `documentsRequired` tell you what to prepare. For US traffic see [US 10DLC](/docs/sms/compliance/us-10dlc-brands) and for India see [India DLT](/docs/sms/compliance/india-dlt).
* **Respect the window.** When `hasSendWindow` is `true`, read `sendWindow` and schedule sends inside it. `Timezone from MSISDN` means the recipient's local time.
* **Check content and links.** Keep messages clear of `prohibitedTopics`, and check `urls` before you include a link.
* **Offer an opt-out.** Where `optOutMandatory` is `true`, include STOP instructions and honour [opt-outs](/docs/sms/opt-outs).

## Related

<CardGroup cols={2}>
  <Card title="Messaging compliance" icon="shield-check" href="/docs/sms/compliance/overview">
    Registration paths by country and sender type.
  </Card>

  <Card title="SMS channel" icon="message" href="/docs/sms/channels/sms">
    Encoding, segments and sender options for SMS.
  </Card>

  <Card title="Numbers guide" icon="phone" href="/docs/sms/numbers">
    Buy a number for the countries you send to.
  </Card>

  <Card title="India DLT" icon="building-columns" href="/docs/sms/compliance/india-dlt">
    Register entities, headers and templates for Indian traffic.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.