Skip to main content
POST
Provision an eSIM, optionally with a plan

Authorizations

Authorization
string
header
required

Bearer token obtained from POST /api/v1.1/auth/token.

Headers

Idempotency-Key
string

Any string unique to this logical request. On a retry with the same key and the same request body, the original response is replayed verbatim (with an Idempotency-Replayed: true response header) instead of the action repeating. Reusing the key with a different body or on a different route returns 409 IDEMPOTENCY_KEY_REUSED. A replay attempted while the original call is still in flight returns 409 CONFLICT. Optional — omit it and the endpoint behaves exactly as it would otherwise.

Example:

"a1b2c3d4-idem-key-001"

Body

application/json
imei
string
required

Device IMEI — exactly 15 digits, Luhn-valid.

Example:

"356938035643809"

simId
string
required

SIM provisioning product name.

Example:

"BIB009A"

planId
string

Optional plan product name — activates a plan in the same operation.

email
string

Shorthand for user.email. If omitted with no planId, the eSIM is provisioned unassigned.

activateNow
boolean

No server-enforced default despite historical docs claiming true — omitting it is forwarded as-is to the provisioning job rather than coerced.

scheduleDate
string<date-time>

Only meaningful with planId; forces activateNow=false when set.

zipcode
string

5-digit US ZIP, overrides number provisioning ZIP.

Example:

"10011"

user
object

Used to create the user if one doesn't exist for the resolved email.

Response

Accepted — poll statusEndpoint.