Sign inGet Started

Get an order

GET
/v1/esim/orders/{order_id}
bird esim orders get <order-id>
Response200
{
  "created_at": "2026-05-20T09:14:52Z",
  "updated_at": "2026-05-25T16:42:01Z",
  "id": "eor_01krdgeqcxet5s7t44vh8rt9mg",
  "status": "scheduled",
  "mode": "live",
  "offer_id": "eof_01krdgeqcxet5s7t44vh8rt9mg",
  "zone_id": "ezn_01krdgeqcxet5s7t44vh8rt9mg",
  "esim_id": "esm_01krdgeqcxet5s7t44vh8rt9mg",
  "subscriber_id": "esub_01krdgeqcxet5s7t44vh8rt9mg",
  "recurring_subscription_id": "ers_01krdgeqcxet5s7t44vh8rt9mg",
  "package_id": "epk_01krdgeqcxet5s7t44vh8rt9mg",
  "price": {
    "amount": "0.00995",
    "currency_code": "USD"
  },
  "wallet_transaction_id": "wtx_01krdgeqcxet5s7t44vh8rt9mg",
  "refund_transaction_id": "wtx_01krdgeqcxet5s7t44vh8rt9mg",
  "delivery": {
    "to": "traveler@example.com",
    "channel": "email",
    "locale": "pt-BR"
  },
  "funding": {
    "required_amount": {
      "amount": "0.00995",
      "currency_code": "USD"
    },
    "lapses_at": "2026-09-08T14:51:01Z"
  },
  "failure_code": "insufficient_balance"
}

Returns one order. Poll until status is completed or failed; a completed order names the eSIM and package it produced.

Parameters

order_idstring

Order ID.

Response Payload

created_at
string
required
updated_at
string
required
id
string
required
status
string
required
mode
string
required
offer_id
string
required

Offer purchased.

offer_revision
integer
required

Revision of the offer this order locked at creation. The quoted price stays that of this revision even if the offer changes later. The produced package snapshots its coverage at purchase; the zone's live country list governs new sales only.

zone_id
string
required

Coverage zone of the purchased offer, captured at creation.

esim_id
nullable string
required

The eSIM the package lands on. Set at creation when adding to an existing eSIM; set when provisioning starts for a new-eSIM order; null before that.

subscriber_id
nullable string
required

Person accepted at creation for a new eSIM. Null when not requested, including top-ups. Delivery assigns this person atomically with the package. Cleared only during irreversible workspace deletion.

recurring_subscription_id
string

The recurring service associated with this purchase. Absent for one-time orders.

package_id
nullable string
required

The purchased data package, set when the order completes; null before that.

price
object
required

The quoted price, locked at creation in your billing currency. A mode: test order quotes this price and is never charged it, so its wallet_transaction_id stays null.

Show child attributes
wallet_transaction_id
nullable string
required

The wallet transaction that paid for this order, for reconciling against your billing transactions. Null until the charge lands, and always null for a mode: test order, which is never charged.

refund_transaction_id
nullable string
required

The wallet transaction that credited the charge back after a failure. Null unless the order failed after charging.

delivery
object

Where install credentials are delivered once available. Present when requested at creation.

Show child attributes
funding
nullable object
required

Present once a charge attempt was refused for insufficient funds, while the order waits in charging; null otherwise. Recording the refusal details is best-effort, so a charging order can carry null here and still be waiting for funds. Read the required balance from billing rather than treating null as funded.

Show child attributes
failure_code
nullable string
required

Machine-readable reason the order failed. Null unless status is failed. Open enum: treat unrecognized values as future failure kinds. canceled means the workspace canceled the order while it was waiting for funds; resolved_by_support means Bird support closed a stuck order as failed; esim_released means the top-up target became unserviceable before delivery: its eSIM was releasing, released, or failed; mode_mismatch means the offer's mobile networks changed after this order was routed, putting the order on the other side of the live/test boundary; it was failed instead of delivered, because a real purchase cannot be served by a test network and a test order cannot reserve real inventory. In every case any charge has been credited back.

Possible values (may grow over time): insufficient_balance, carrier_error, capacity_exhausted, offer_unavailable, internal_error, canceled, resolved_by_support, esim_released, mode_mismatch

failure_reason
nullable string
required

Why the order failed, in plain terms. Null unless status is failed.

completed_at
nullable string
required

When the order reached completed. Null before that.

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