---
title: "bird esim recurring-subscriptions create"
description: "Create a recurring eSIM subscription"
canonical: "https://bird.com/docs/cli/reference/esim-recurring-subscriptions-create"
---

# `bird esim recurring-subscriptions create`

## Usage

```bash
bird esim recurring-subscriptions create [flags]
```

## Description

Create a recurring eSIM subscription

Purchase the first recurring period on an assigned eSIM. Reuse the required Idempotency-Key and identical request to recover enrollment. Check subscription and period history for payment and delivery outcomes. Changed prices, unfunded renewal, or confirmed delivery failure stop future renewal.

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

Browser confirmation: the review link goes to stderr, not stdout, as next[].url
in a JSON line that also carries confirmation\_id. The command then waits and
prints the result on stdout; --confirmation-id waits on an existing one.

## Examples

```bash
# print the body shape (no credentials needed)
bird esim recurring-subscriptions create --example

# the body it prints:
```

```json
{
  "accepted_price": {
    "amount": "0.00995",
    "currency_code": "USD"
  },
  "esim_id": "esm_01krdgeqcxet5s7t44vh8rt9mg",
  "offer_id": "eof_01krdgeqcxet5s7t44vh8rt9mg",
  "offer_revision": 1,
  "recurrence_revision": 1
}
```

## 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                                                                   |
| --------------------------- | ----------------------------------------------------------------------------- |
| `--esim-id`                 | Assigned eSIM receiving the recurring package. (required; or in --body-file)  |
| `--offer-id`                | Offer whose recurring terms the buyer accepted. (required; or in --body-file) |
| `--offer-revision <n>`      | The accepted offer revision. (required; or in --body-file)                    |
| `--recurrence-revision <n>` | The accepted recurring configuration revision. (required; or in --body-file)  |
| `--response-schema`         | Print the fields this command returns, then exit                              |
| `--confirmation-id`         | Wait for an existing confirmation of this exact request                       |

## Related

| Name                                                                                                    | Description                       |
| ------------------------------------------------------------------------------------------------------- | --------------------------------- |
| [`bird esim recurring-subscriptions cancel`](/docs/cli/reference/esim-recurring-subscriptions-cancel)   | Cancel recurring eSIM renewal     |
| [`bird esim recurring-subscriptions get`](/docs/cli/reference/esim-recurring-subscriptions-get)         | Get a recurring eSIM subscription |
| [`bird esim recurring-subscriptions list`](/docs/cli/reference/esim-recurring-subscriptions-list)       | List recurring eSIM subscriptions |
| [`bird esim recurring-subscriptions periods`](/docs/cli/reference/esim-recurring-subscriptions-periods) | List recurring eSIM periods       |

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