Skip to content

Error codes

Every non-2xx response uses one envelope:{ error: { type, code, message, param?, doc_url }, request_id }. Match on the stablecode — never the human-readable message. Each error also carries adoc_url pointing at its page here.

CodeHTTPMeaning
validation_failed400The request body or parameters didn't pass validation. The `param` field names the offender.
unauthenticated401No API key was supplied, or the key is unknown, revoked, or malformed.
forbidden403The key is valid but lacks the scope required for this operation.
not_found404The requested resource doesn't exist in this environment.
conflict409The request conflicts with the current state of the resource.
rate_limited429You've sent too many requests in a window. The `Retry-After` header says how long to wait.
internal_error500Something went wrong on our side. These are rare and tracked.
idempotency_key_reused400This `Idempotency-Key` was already used with a different request body.
idempotency_in_progress409A request with this `Idempotency-Key` is still being processed.
iccid_not_found404No eSIM with that ICCID exists in this environment.
insufficient_balance402The wallet doesn't have enough balance to cover this operation.
bundle_exhausted409The bundle has no remaining data allowance.
bundle_stack_limit409Stacking this bundle would exceed the maximum number of concurrent bundles on the eSIM.
bundle_incompatible_throttle409The bundle's throttle policy is incompatible with one already applied to the eSIM.
bundle_addon_without_base409This is an add-on bundle, but the eSIM has no active base bundle to attach it to.
product_unavailable400The requested product doesn't exist, isn't published, or isn't available in this environment.
capability_unsupported409The eSIM's profile or the network doesn't support the requested capability.
shared_pool_self_share409The member eSIM is the same as the pool's creator — an eSIM can't join its own pool.
shared_pool_member_exists409That eSIM is already a member of the shared pool.
shared_pool_full409The shared pool has reached its maximum number of members.
shared_pool_cross_account409The member eSIM belongs to a different tenant/sub-account than the pool.
shared_pool_throttled409The pool operation was throttled by a rate or policy limit.
shared_pool_sim_type409The eSIM's type isn't eligible to join this shared pool.
shared_pool_not_found404No shared pool with that id exists in this environment.