Firsty

Search...

Search...

BalanceExperimental

Create eSIM balance update

Applies a credit or debit. clientTransactionId makes retries idempotent; this endpoint does not use X-Idempotency-Key. An eSIM whose balance accepts credits only refuses a debit with 422 and code balance_operation_not_supported. Before such an eSIM is activated, a credit returns 409 with code balance_not_available.

post/profiles/{profileReference}/esims/{esimReference}/balance/updates

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)

Request body

application/json · required

currencystringrequired

Three-letter ISO 4217 currency code

reasonstringrequired

Machine-readable reason

detailstring

Optional human-readable context

clientTransactionIdstringrequired

Client identifier used for idempotency

typestringrequired
Optionscreditdebit
amountintegerrequired

Update amount in integer minor currency units

Responses

200Existing update returned for an idempotent replayapplication/json
Show response body
dataobject
Show properties
profileReferencestring
esimReferencestring
typestring
Optionscreditdebit
sourcestring

Who originated the update: client for your own credit, debit or set; provider for a movement the network applied; system for a movement we made on our own.

Optionsclientprovidersystem
amountinteger

Update amount in integer minor currency units

balanceAfterinteger

Balance after this update

overdraftAmountinteger

Amount not covered when balance reached zero

currencystring

Three-letter ISO 4217 currency code

reasonstring
detailstring | null
clientTransactionIdstring | null

Client transaction identifier, present for client updates

providerTransactionIdstring | null

External transaction identifier when available

occurredAtstring | null · date-time

When the balance update occurred

createdAtstring · date-time

When the update was recorded

201Balance update createdapplication/json
Show response body
dataobject
Show properties
profileReferencestring
esimReferencestring
typestring
Optionscreditdebit
sourcestring

Who originated the update: client for your own credit, debit or set; provider for a movement the network applied; system for a movement we made on our own.

Optionsclientprovidersystem
amountinteger

Update amount in integer minor currency units

balanceAfterinteger

Balance after this update

overdraftAmountinteger

Amount not covered when balance reached zero

currencystring

Three-letter ISO 4217 currency code

reasonstring
detailstring | null
clientTransactionIdstring | null

Client transaction identifier, present for client updates

providerTransactionIdstring | null

External transaction identifier when available

occurredAtstring | null · date-time

When the balance update occurred

createdAtstring · date-time

When the update was recorded

400Bad request - invalid parameters401Unauthorized - missing or invalid API key403Forbidden - client does not have access to this resource404Resource not found409Another operation is already in progress422Request cannot be applied to the current resource429Rate limit exceeded. A `429` can also arrive without these headers or this body; handle it by its status code.500Internal server error502Temporary service failure503Service temporarily unavailable. Safe to retry.