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

# `bird sms messaging-profiles update`

## Usage

```bash
bird sms messaging-profiles update <profile-id> [flags]
```

## Description

Update an SMS messaging profile

Change a messaging profile. Omitted properties keep their value, including inside `inbound` and `options`, and `null` clears a property that accepts it. `senders` and `inbound.numbers` replace the whole list, so send the full set you want to keep.

Build the request from flags, a JSON SMSMessagingProfileUpdate 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 update --example

# the body it prints:
```

```json
{
  "default_category": "transactional",
  "name": "device-activation"
}
```

## 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 new label for the profile. Names are not unique, so two profiles can share one.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `--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. Send null to clear it. Possible values: transactional, marketing, authentication, service.                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `--validity-period <n>`       | How many seconds a message stays valid before it expires undelivered. Send null to clear it. A send that omits validity\_period uses it.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `--cost-center`               | A label for assigning the cost of this profile's messages. Send null to clear it. 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. Send null 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 create`](/docs/cli/reference/sms-messaging-profiles-create) | Create an SMS messaging profile |
| [`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     |

## 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)
