# `bird sms senders registrations create`

## Usage

```bash
bird sms senders registrations create <sender-id> [flags]
```

## Description

Create a sender registration for a country

Registers a sender to send to one country. Where the country reviews registrations the record comes back pending and nothing is charged yet; it is billed if and when the registration is approved. Where the country reviews nothing it is approved on this call, and a priced alphanumeric sender is charged its setup fee and its recurring monthly subscription then. Registering a number is free. Neither this operation nor `bird sms senders requirements` quotes a price, so ask whoever owns the account before registering a priced sender. A 402 means the wallet could not cover what was owed at the moment billing ran, a 412 that the organization has an unmet trust gate, and a 409 that a registration for this country already exists in any state other than rejected or suspended, a `pending` one under review included, so a 409 does not mean the sender can send there; a rejected one is resubmitted and a suspended one reactivated by this same call rather than refused.

Build the request from flags, a JSON SMSCountryRegistrationCreate body via --body-file ("-" reads
stdin), or both — a flag overrides the matching body field. Run --example to
print a ready-to-edit body, or --dry-run to print the resolved request without
sending it.

## Procedure

Step 3 of 3 of "Claim an SMS sender and register it for a country". Previous: bird sms senders requirements.

## Examples

```bash
# print the body shape (no credentials needed)
bird sms senders registrations create --example

# the body it prints:
```

```json
{
  "category": "transactional",
  "country_code": "US"
}
```

## Options

#### Request

| Name                | Description                                                  |
| ------------------- | ------------------------------------------------------------ |
| `--body-file`       | Read the JSON request body from this file; "-" reads stdin   |
| `--example`         | Print a complete example request body, then exit             |
| `--dry-run`         | Print the resolved request without sending it, then exit     |
| `--idempotency-key` | Deduplication key; a retry with the same key won't act twice |

#### Options

| Name                | Description                                                                                                                                                      |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--country-code`    | ISO 3166-1 alpha-2 country code. (required; or in --body-file)                                                                                                   |
| `--category`        | Message category to register the sender for. Omit to register the sender for all categories. Possible values: transactional, marketing, authentication, service. |
| `--response-schema` | Print the fields this command returns, then exit                                                                                                                 |

## Related resources

- [Registering your SMS sender ID](/learn/sms/registering-your-sms-sender-id) (video)
- [What is sender ID registration, and why do some countries require it?](/explained/sms/what-is-sender-id-registration) (answer)
- [SMS sender IDs](/products/sms/compliance/sender-id-registration) (product)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=sms-senders)
