Firsty

Search...

Search...

Packages

Remove a package

Removes a package from an eSIM. The package status will be set to 'removed'.

delete/profiles/{profileReference}/esims/{esimReference}/packages/{packageReference}

Authorization

Authorization: Bearer {token} — an OAuth2 access token from the client-credentials flow. How authentication works

Path parameters

profileReferencestringrequired

The eSIM's profile reference (16-digit numeric string)

esimReferencestringrequired

eSIM reference identifier (18-digit opaque token)

packageReferencestringrequired

Package reference identifier (23-character opaque token)

Headers

X-Idempotency-Keystring

Optional idempotency key for mutating requests (POST, PATCH). If provided, duplicate requests with the same key within 48 hours will return the cached original response without duplicating side effects.

Behavior:

  • Same key + same request body → returns cached response (prevents duplicate operations)
  • Same key + different request body → returns 422 error
  • Same key + in-flight request → returns 409 error with Retry-After header
  • Keys expire after 48 hours

Request Body Matching: Request bodies are compared by their JSON content. Object key order, including in nested objects, and whitespace do not affect matching. This means:

  • {"a":1,"b":2} and {"b":2,"a":1} are treated as identical ✓
  • Whitespace differences are ignored ✓
  • URL parameters and headers are NOT included in request body matching

Best Practices:

  • Use UUIDs or client-generated unique strings
  • Store keys on your side to support retries
  • Don't reuse keys across different operations

Responses

200Package removed successfully (idempotent - returns same result if already removed)application/json
Show response body
dataobjectoptional
Show properties
packageReferencestringoptional

Package reference identifier (23-character opaque token)

statusstringoptional

Pending means the order is accepted but not yet fully confirmed. Active means all required addons are confirmed. Legacy compatibility can represent pending packages as active and include them in active-filter results; webhook milestones remain the same.

Optionspendingactivethrottledexhaustedexpiredremoved
updatedAtstring · date-timeoptional
401Unauthorized - missing or invalid API key403Forbidden - client does not have access to this resource404Resource not found409Request with this idempotency key is still being processed422Idempotency key was previously used with a different request body429Rate limit exceeded. A `429` can also arrive without these headers or this body; handle it by its status code.500Internal server error