Skip to main content
POST
Push a message to an eSIM
202 means the provider accepted the message, not that it was delivered — an eSIM that was never installed swallows it silently. Capped at ten an hour per eSIM, counted across every caller: it reaches a real handset whose holder cannot block or unsubscribe.

Error codes

Authorizations

Authorization
string
header
required

A secret API key, sent as Authorization: Bearer sk_test_… in sandbox or Bearer sk_live_… in live.

Path Parameters

profileId
string
required

eSIM ULID. A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

Body

application/json
text
string
required
Required string length: 1 - 160

Response

Successful response.

id
string
required

A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

profileId
string
required

A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

body
string
required

What was sent, at most 160 characters.

status
enum<string>
required

sent means the provider accepted it, not that the handset received it.

Available options:
sent,
failed
failureReason
string | null
required

The provider's rejection, on a failed attempt.

createdAt
string<date-time>
required