---
title: "bird sms messaging-profiles create"
description: "Create an SMS messaging profile"
canonical: "https://bird.com/docs/cli/reference/sms-messaging-profiles-create"
---

# `bird sms messaging-profiles create`

## Usage

```bash
bird sms messaging-profiles create [flags]
```

## Description

Create an SMS messaging profile

Create a messaging profile for one program: its senders by destination country, the numbers that receive its replies, and defaults such as category and smart encoding. Every sender and number must belong to the workspace, and a number can belong to one profile at a time. A send that names the profile takes its sender, default category, and smart encoding from it; an explicit `from`, `category`, or `options.smart_encoding` on the send wins.

Build the request from flags, a JSON SMSMessagingProfileCreate 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.

## Examples

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

# the body it prints:
```

```json
{
  "default_category": "authentication",
  "inbound": {
    "numbers": [
      {
        "number": "+14155550100"
      }
    ]
  },
  "name": "device-activation",
  "senders": [
    {
      "country_code": "US",
      "sender_id": "snd_01krdgeqcxet5s7t44vh8rt9mg"
    }
  ]
}
```

## 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--name`                      | A label for the profile. Names are not unique, so two profiles can share one. (required; or in --body-file)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `--default-category`          | The category a free-text send that names this profile uses when it sets none: transactional, marketing, authentication, or service. A template send takes the template's category. Possible values: transactional, marketing, authentication, service.                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `--validity-period <n>`       | How many seconds a message stays valid before it expires undelivered. A send that omits validity\_period uses it.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `--cost-center`               | A label for assigning the cost of this profile's messages. A send that omits cost\_center uses it.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `--callback-events <v1,v2,…>` | The events of this profile's outbound messages that go to a callback URL. The list is fixed when a message is accepted, and applies only while the message has a callback URL: an event outside it then reaches neither the URL nor a plain webhook endpoint. Without a callback URL the list has no effect, and every event goes to your webhook endpoints. A value other than sms.accepted, sms.sent, sms.delivered, sms.undelivered, sms.failed, sms.rejected or sms.expired returns 422. sms.received is never filtered. Omit it to deliver every event. Known values: sms.accepted, sms.sent, sms.delivered, sms.undelivered, sms.failed, sms.rejected, sms.expired (others may exist). |
| `--response-schema`           | Print the fields this command returns, then exit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

## Related

| Name                                                                                      | Description                     |
| ----------------------------------------------------------------------------------------- | ------------------------------- |
| [`bird sms messaging-profiles delete`](/docs/cli/reference/sms-messaging-profiles-delete) | Delete an SMS messaging profile |
| [`bird sms messaging-profiles get`](/docs/cli/reference/sms-messaging-profiles-get)       | Get an SMS messaging profile    |
| [`bird sms messaging-profiles list`](/docs/cli/reference/sms-messaging-profiles-list)     | List SMS messaging profiles     |
| [`bird sms messaging-profiles update`](/docs/cli/reference/sms-messaging-profiles-update) | Update an SMS messaging profile |

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
