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

# Country Compliance Requirements

> Look up, per country and channel, which sender types are accepted, whether Sender-ID registration is required, what documentation you must supply, and the content restrictions that apply — before you launch traffic in a new market.

# Country Compliance Requirements

Messaging and voice rules are set country by country. Before you send to
a new market you need to know four things: **which sender types that
country accepts** (a long code? an alphanumeric Sender ID? a short
code?), **whether registration is required**, **what documents you must
supply**, and **which content is restricted**. Getting this wrong is the
most common reason first sends to a new country silently fail to deliver.

Orbit maintains a curated, per-country regulatory reference so you do not
have to assemble this yourself. This page explains how to read it.

<Note>
  This reference is guidance to help you plan, not a delivery guarantee
  or legal advice. Final approval of a Sender ID or registration is
  granted by the regulator or carrier in each country, not by Orbit.
  Coverage is enabled per tenant — a country appearing here does not mean
  it is enabled on your account.
</Note>

***

## Look up a country's rules

`GET /compliance/country-rules` is the read-only regulatory reference
behind Orbit's send-time gates. Any authenticated user can call it.
Filter by `channel` (defaults to `sms`) and optionally by `region`:

```bash theme={null}
curl "https://api.orbit.devotel.io/api/v1/compliance/country-rules?channel=sms&region=EU" \
  -H "Authorization: Bearer $ORBIT_API_KEY"
```

Each row describes one country × channel:

```json theme={null}
{
  "data": {
    "rows": [
      {
        "country_code": "FR",
        "channel": "sms",
        "country_name": "France",
        "calling_code": "33",
        "region": "EU",
        "sender_types": ["alphanumeric", "long_code"],
        "registration": "recommended",
        "sender_rules": "Alphanumeric sender IDs are dynamic; no pre-registration required but recommended for consistency.",
        "content_restrictions": "Marketing SMS requires prior opt-in (GDPR). No sends 20:00–08:00 or Sundays/holidays.",
        "stop_requirement": "STOP keyword mandatory in French (STOP au 36111).",
        "two_way": true,
        "dlr_support": "full",
        "default_tps": "10",
        "notes": ""
      }
    ],
    "channel": "sms",
    "last_synced_at": "2026-06-20T00:00:00.000Z",
    "total": 1
  },
  "meta": { "request_id": "…", "timestamp": "2026-06-20T12:00:00.000Z" }
}
```

The `channel` filter accepts `sms`, `whatsapp`, `rcs`, `voice`, `email`,
and `viber`. The same country has **separate rows per channel** because
different channels answer to different regulators — for example Meta's
WABA rules govern WhatsApp in Brazil while Anatel's rules govern SMS.

***

## Reading each field

| Field                  | What it tells you                                                                                                                                                            |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sender_types`         | Which "from" identities the country accepts — see the table below.                                                                                                           |
| `registration`         | `none`, `recommended`, or `required` — whether you must register a Sender ID before sending.                                                                                 |
| `sender_rules`         | Plain-language notes on how sender IDs behave in that country (dynamic vs. pre-registered, number format, etc.).                                                             |
| `content_restrictions` | Category and consent restrictions — e.g. "marketing requires opt-in", promotional-content bans. See [Restricted & Prohibited Industries](/compliance/restricted-industries). |
| `stop_requirement`     | Whether an opt-out keyword is mandatory and in what language.                                                                                                                |
| `two_way`              | Whether inbound replies are supported.                                                                                                                                       |
| `dlr_support`          | Delivery-receipt fidelity: `full`, `partial`, `submitted_only`, or `none`.                                                                                                   |
| `default_tps`          | The default throughput ceiling (messages per second).                                                                                                                        |

### Sender types

| Value          | Meaning                                            |
| -------------- | -------------------------------------------------- |
| `alphanumeric` | A branded text Sender ID (e.g. `MyBrand`).         |
| `numeric`      | A numeric sender that is not a routable long code. |
| `long_code`    | A standard local/mobile long number.               |
| `short_code`   | A dedicated 4–6 digit short code.                  |
| `ten_dlc`      | A US 10-digit long code registered through 10DLC.  |
| `waba`         | A WhatsApp Business Account sender.                |
| `rcs_agent`    | A verified RCS Business Messaging agent.           |
| `from_address` | An email `from` address (email channel).           |

***

## The `registration` levels

The `registration` field is the single most important value to read
before launching. It drives Orbit's send-time gate:

<AccordionGroup>
  <Accordion title="none — send freely">
    No Sender-ID registration is required. You can start sending once the
    channel and country are enabled on your account.
  </Accordion>

  <Accordion title="recommended — send now, register for reliability">
    Sending is allowed without registration, but unregistered traffic is
    more likely to be filtered or relabelled. Register the Sender ID to
    keep delivery stable.
  </Accordion>

  <Accordion title="required — register before you send">
    Traffic is **blocked** until you have an approved Sender-ID
    registration for the country. A2P SMS to a `required` country with no
    approved entry is held by the send-time gate. Register and get
    approved before launch — see
    [Sender-ID Registration](/compliance/sender-id-registration).
  </Accordion>
</AccordionGroup>

***

## Documentation each country expects

Where a country requires (or recommends) registration, you submit
supporting documents once, then reference them by their `doc_…` IDs when
you register a Sender ID. The exact set varies by market, but most
regulators ask for some combination of:

* **Proof of business registration** — certificate of incorporation,
  business license, or equivalent.
* **A use-case description** — what you send (transactional, OTP,
  marketing) and to whom.
* **Brand ownership / authorization** — proof you are entitled to the
  Sender ID / brand name you are registering.
* **Local tax or regulator ID** — for markets that key registration to a
  national identifier.

Read the target country's `sender_rules` and `content_restrictions` in
the country-rules response for the specifics, then attach the matching
documents when you submit the registration.

Some markets run their own dedicated registration regime rather than the
generic Sender-ID flow:

* **India** — Sender IDs ("Headers"), content templates, and consent
  templates register through the TRAI DLT portal. See
  [DLT-India Onboarding](/compliance/dlt-india).
* **United States** — A2P SMS senders register a brand and campaign via
  10DLC. See the [10DLC Registration guide](/guides/10dlc-registration).

***

## A launch checklist for a new country

<Steps>
  <Step title="Look up the rules">
    Call `GET /compliance/country-rules?channel=<channel>` for the
    destination and read `sender_types`, `registration`, and
    `content_restrictions`.
  </Step>

  <Step title="Pick an accepted sender type">
    Choose a sender identity from that country's `sender_types` — an
    alphanumeric Sender ID, a long code, a short code, or a channel-native
    sender (WABA / RCS agent).
  </Step>

  <Step title="Register if required">
    If `registration` is `required` (or `recommended`), upload your
    documents and submit the Sender ID for approval. Plan lead time — some
    markets take days to weeks.
  </Step>

  <Step title="Check content restrictions">
    Confirm your use case is allowed against `content_restrictions` and
    [Restricted & Prohibited Industries](/compliance/restricted-industries),
    and add the required opt-out keyword if `stop_requirement` calls for
    one.
  </Step>

  <Step title="Launch">
    Once the country is enabled, the sender type is accepted, and any
    required registration is approved, start sending.
  </Step>
</Steps>

***

## Related references

* [Restricted & Prohibited Industries](/compliance/restricted-industries) —
  which industries and content are restricted or banned.
* [Sender-ID Registration](/compliance/sender-id-registration) — submit
  and track Sender-ID registrations per country.
* [DLT-India Onboarding](/compliance/dlt-india) — India's TRAI DLT regime.
* [10DLC Registration](/guides/10dlc-registration) — US A2P brand and
  campaign vetting.
* [Send Gates](/compliance/send-gates) — the gates that enforce these
  rules at send time.
* [API Reference → Compliance](/api-reference/compliance) — full
  request/response schemas.
