---
title: "Remove a data package"
canonical: "https://bird.com/docs/api/reference/delete-esim-package"
---

# Remove a data package

`DELETE /v1/esim/sims/{esim_id}/packages/{package_id}`

Removes a data package and frees capacity under the eSIM's `package_limit`. Remaining data is forfeited without a refund. If usable balance remains, the request returns `409` unless `acknowledge_balance_forfeit=true`.

A `202` response returns the package in `removing`. Use [Get a data package](/docs/api/reference/get-esim-package) to confirm `removed`. If the network rejects removal, the package returns to its previous status.

## Code samples

**CLI**

```sh
bird esim packages delete <esim-id> <package-id> --yes
```

Examples: [CLI](/docs/api/reference/delete-esim-package.cli.md) · [MCP](/docs/api/reference/delete-esim-package.mcp.md) · [cURL](/docs/api/reference/delete-esim-package.curl.md)

## Example response `202`

```json
{
  "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"
  }
}
```

## Path parameters

- `esim_id` (string): eSIM ID.
- `package_id` (string): Data package ID.

## Query parameters

- `acknowledge_balance_forfeit` (boolean): Confirms you accept that the package's remaining balance is forfeited. Omitted or false while balance remains, the request fails with a conflict error.

## Response body

- `id` (string, required)
- `order_id` (string, required): The order that purchased this package.
- `offer_id` (string, required): Offer this package was purchased from.
- `zone_id` (string, required): Coverage zone the package draws on. The name and countries below are captured at purchase time; the zone resource carries the live footprint.
- `zone_name` (string, required): Coverage zone name, from the offer.
- `countries` (array of string, required): Countries the package's zone covers, captured at purchase time so the package is meaningful without fetching the offer.
- `status` (string, required)
- `speed` (string, required): Speed class, from the offer.
- `balance` (object, required)
- `balance.total_bytes` (integer, required): Total data in bytes, as purchased. Known from the order, so never null.
- `balance.used_bytes` (nullable integer, required): Data used in bytes, or null while no network has reported on this package.
- `balance.remaining_bytes` (nullable integer, required): Data remaining in bytes, or null while no network has reported on this package.
- `balance.used_percent` (nullable number, required): Share of the total data already used, as a percentage. Null while no network has reported on this package.
- `balance.as_of` (string, required): When the balance was last established. Before consumption is reported, this is the package delivery time. Check whether the consumption fields are null before treating this timestamp as a usage update.
- `balance.observed_at` (nullable string, required): Measurement time supplied by the mobile network. Null when no measurement or measurement time is available. Use `as_of` for the balance update time.
- `activated_at` (nullable string): When the package started consuming data (first use in its zone). Null until then.
- `expires_at` (nullable string): When the package's validity ends and unused balance expires. Already capped by the eSIM's service period, so this is always the effective expiry. Null until the package activates.
- `price` (object, required): What your workspace was billed for this package.
- `price.amount` (string, required): Decimal amount as a string, in major currency units.
- `price.currency_code` (string, required): ISO 4217 currency code.
- `created_at` (string, required)

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