Sign inGet Started

bird esim orders create

Usage

Code example
bird esim orders create [flags]

Description

Order a data package

Purchase an eSIM data package. Without esim_id a new eSIM is provisioned with the package; with esim_id the package is added to that eSIM. The order locks the offer's price at creation. Inspect status even on HTTP 201: the order can be completed or failed. On HTTP 202, poll until completed or failed. Omit delivery; after completion use bird esim credentials deliver to send install credentials to the traveler.

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

Procedure

Step 5 of 8 of "Buy and install an eSIM data package". Previous: bird esim offers requirements. Next: bird esim orders get.

Examples

Code example
# print the body shape (no credentials needed)
bird esim orders create --example

# the body it prints:
Code example
{
  "display_name": "Amsterdam trip, order 8812",
  "offer_id": "eof_01krdgeqcxet5s7t44vh8rt9mg"
}

Options

Request

NameDescription
--body-fileRead the JSON request body from this file; "-" reads stdin
--examplePrint a complete example request body, then exit
--dry-runPrint the resolved request without sending it, then exit
--idempotency-keyDeduplication key; a retry with the same key won't act twice

Options

NameDescription
--offer-idOffer to purchase. (required; or in --body-file)
--esim-idExisting eSIM to add the package to. Omit to provision a new eSIM.
--subscriber-idPerson to assign the new eSIM to when delivery completes. Must be a subscriber in this workspace. Omit to leave it unassigned. Supplying it with esim_id returns 422; top-ups retain the existing assignment. An unknown subscriber or one outside this workspace returns 404 before charging. Identification guidance does not gate purchase.
--offer-revision <n>The offer revision you are quoting from. When set and the offer has since moved to a newer revision, the order is refused with a conflict instead of charging a price you did not see. Omitted, the current revision is used.
--display-nameFree-text label for the new eSIM, for your own reference. Ignored when esim_id is set.
--tags <key=value>Tags for the new eSIM, echoed on its lifecycle webhook events. Ignored when esim_id is set.
--metadataYour own key-value data for the new eSIM, echoed on its lifecycle webhook events. Maximum 2 KB serialized. Ignored when esim_id is set.
--acknowledge-shortened-validitySet to true to accept a validity cut short by the eSIM's service period. Without it, an order whose package would expire early is refused with a conflict that states the effective validity.
--response-schemaPrint the fields this command returns, then exit
--confirmation-idWait for an existing confirmation of this exact request
NameDescription
bird esim orders cancelCancel an unfunded order
bird esim orders getGet an order
bird esim orders listList orders

Continue with the documentation, guides and examples for this topic.