Sign inGet Started

Suspend an eSIM

POST
/v1/esim/sims/{esim_id}/suspend
bird esim suspend <esim-id>
Response202
{
  "subscriber_id": "esub_01krdgeqcxet5s7t44vh8rt9mg",
  "id": "esm_01krdgeqcxet5s7t44vh8rt9mg",
  "status": "provisioning",
  "mode": "live",
  "iccid": "8944500212345678912",
  "phone_number": "+31612345678",
  "capabilities": {
    "data": "yes",
    "sms_inbound": "yes",
    "sms_outbound": "yes",
    "voice_inbound": "yes",
    "voice_outbound": "yes"
  },
  "order_id": "eor_01krdgeqcxet5s7t44vh8rt9mg",
  "display_name": "Amsterdam trip, order 8812",
  "installation": {
    "state": "pending"
  },
  "packages": [
    {
      "id": "epk_01krdgeqcxet5s7t44vh8rt9mg",
      "order_id": "eor_01krdgeqcxet5s7t44vh8rt9mg",
      "offer_id": "eof_01krdgeqcxet5s7t44vh8rt9mg",
      "zone_id": "ezn_01krdgeqcxet5s7t44vh8rt9mg",
      "zone_name": "Europe",
      "countries": [
        "US"
      ],
      "status": "provisioning",
      "speed": "full",
      "price": {
        "amount": "0.00995",
        "currency_code": "USD"
      }
    }
  ],
  "zone_balances": [
    {
      "zone_id": "ezn_01krdgeqcxet5s7t44vh8rt9mg"
    }
  ],
  "available_actions": [
    {
      "action": "suspend",
      "operation": "suspendEsim",
      "reason": "permission_denied",
      "requires": [
        "acknowledge_balance_forfeit"
      ]
    }
  ],
  "package_limit": 3,
  "usage_available": true,
  "balance_reporting": "available",
  "last_attachment": {
    "country_code": "US"
  },
  "tags": [
    {
      "name": "category",
      "value": "welcome"
    }
  ],
  "created_at": "2026-05-20T09:14:52Z",
  "updated_at": "2026-05-25T16:42:01Z"
}

Suspends the eSIM's data service, for example during a payment dispute or a suspected-fraud hold. Suspension is reversible: use Resume an eSIM to restore service. The suspension does not pause validity: package expiry and the eSIM's service period keep running while suspended. Completes asynchronously; the esim.suspended webhook event confirms it.

Parameters

esim_idstring

eSIM ID.

Response Payload

subscriber_id
nullable string
required

The assigned service user, or null when the eSIM has no person assignment.

id
string
required
status
string
required
mode
string
required
iccid
nullable string
required

ICCID of the eSIM profile. Null while no profile is allocated yet, for example when provisioning failed before allocation.

phone_number
nullable string
required

Phone number attached to this eSIM, in E.164 format, as the supplier reports it. Null while none is on record: a data-only plan comes with no number, and a plan that includes one reports it after provisioning.

capabilities
object
Show child attributes
order_id
string
required

The order that created this eSIM.

display_name
nullable string

Free-text label for your own reference, for example a traveler or order reference.

installation
object
required
Show child attributes
packages
array of object
required

Current data packages, one per purchase.

Show child attributes
zone_balances
array of object
required

Remaining data per coverage zone, combined across the zone's packages. Derived; the packages are the source of truth.

Show child attributes
zone_balances.zone_id
string
required
zone_balances.total_bytes
integer
required

Total purchased data for the zone, in bytes. Known from the orders, so never null.

zone_balances.used_bytes
nullable integer
required

Reported data used in this zone, in bytes. Null if any contributing package lacks a usage report. Read individual package balances for available measurements.

zone_balances.remaining_bytes
nullable integer
required

Data remaining, in bytes. Null under the same condition as used_bytes.

zone_balances.as_of
string
required

Freshness of this combined figure - the oldest balance read among the zone's contributing packages. Each package's own balance.as_of can be newer.

zone_balances.observed_at
nullable string
required

Oldest network measurement time among the contributing packages. Null if any package lacks a report or a measurement time. Use as_of for the balance update time.

available_actions
array of object

Actions currently available to you on this eSIM, with reasons for unavailable actions. Returned by the individual eSIM read. Use this to display controls and explain restrictions. Each action rechecks permissions and state when submitted, so availability is not a guarantee of success.

Show child attributes
package_limit
integer
required

Maximum number of concurrent data packages this eSIM can hold, counted across all zones; several packages may share one zone. Enforced when packages are added.

usage_available
boolean
required

Whether daily usage history is supported for this eSIM. The daily usage endpoint is currently unavailable; read package balances for reported consumption.

balance_reporting
string
required

Whether ongoing package consumption reporting is available. Separate from daily usage history. Null package consumption values mean no measurement is available.

ready_until
nullable string

Activate (first network use) before this moment or the eSIM expires. Null once activated.

activated_at
nullable string

When the eSIM first used a mobile network. Null until then.

active_until
nullable string

When the eSIM's service period ends. The period starts at activation and data packages cannot outlive it. Null until activated.

last_attachment
nullable object

Most recent network attachment, or null before first attach.

Show child attributes
tags
array of object

Tags for routing, filtering, and stats grouping, echoed on webhook events for the eSIM.

Show child attributes
metadata
object

Your own key-value data, echoed on webhook events for the eSIM. Maximum 2 KB serialized.

created_at
string
required
updated_at
string
required

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