# `bird sms keyword-rules update`

## Usage

```bash
bird sms keyword-rules update <id> [flags]
```

## Description

Update an SMS keyword rule

Change one of your own keyword rules: its reply, its extra keywords, or its self-managed attestation. Bird's default rules cannot be updated; create your own for that country instead with `bird sms keyword-rules create`. Omitting `keywords` leaves the set alone, while sending an empty list clears your additions back to Bird's.

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

# the body it prints:
```

```json
{
  "confirmed_self_managed": true,
  "keywords": ["pizza", "menu"],
  "reply": "You have been unsubscribed and will receive no further messages."
}
```

## 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                                                                                                                                                                                                                                   |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--reply`                  | Replaces the message sent back when a keyword matches, except on a confirm rule, which never sends one whatever this is set to. Set it to null together with confirmed_self_managed to switch the auto-reply off. Omit to leave it unchanged. |
| `--confirmed-self-managed` | Set this with reply: null to confirm you send this reply from your own system. Required to switch the auto-reply off, and rejected when a reply is given.                                                                                     |
| `--response-schema`        | Print the fields this command returns, then exit                                                                                                                                                                                              |

## Related

| Name                                                                            | Description                |
| ------------------------------------------------------------------------------- | -------------------------- |
| [`bird sms keyword-rules create`](/docs/cli/reference/sms-keyword-rules-create) | Create an SMS keyword rule |
| [`bird sms keyword-rules delete`](/docs/cli/reference/sms-keyword-rules-delete) | Delete an SMS keyword rule |
| [`bird sms keyword-rules get`](/docs/cli/reference/sms-keyword-rules-get)       | Get an SMS keyword rule    |
| [`bird sms keyword-rules list`](/docs/cli/reference/sms-keyword-rules-list)     | List SMS keyword rules     |