---
title: "bird esim update"
description: "Update an eSIM"
canonical: "https://bird.com/docs/cli/reference/esim-update"
---

# `bird esim update`

## Usage

```bash
bird esim update <esim-id> [flags]
```

## Description

Update an eSIM

Updates the eSIM's display name, tags, or metadata. Lifecycle and connectivity are managed through the dedicated endpoints.

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

# the body it prints:
```

```json
{
  "tags": [
    {
      "name": "category",
      "value": "welcome"
    }
  ]
}
```

## 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                                             |
| -------------------- | ------------------------------------------------------- |
| `--display-name`     | Free-text label for your own reference. Null clears it. |
| `--tags <key=value>` | Replaces the eSIM's tags.                               |
| `--metadata`         | Replaces the eSIM's metadata. Maximum 2 KB serialized.  |
| `--response-schema`  | Print the fields this command returns, then exit        |

## Related

| Name                                                                        | Description                  |
| --------------------------------------------------------------------------- | ---------------------------- |
| [`bird esim compatible-offers`](/docs/cli/reference/esim-compatible-offers) | List offers an eSIM can take |
| [`bird esim get`](/docs/cli/reference/esim-get)                             | Get an eSIM                  |
| [`bird esim list`](/docs/cli/reference/esim-list)                           | List eSIMs                   |
| [`bird esim release`](/docs/cli/reference/esim-release)                     | Release an eSIM              |
| [`bird esim resume`](/docs/cli/reference/esim-resume)                       | Resume an eSIM               |
| [`bird esim suspend`](/docs/cli/reference/esim-suspend)                     | Suspend an eSIM              |

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