Firsty

Search...

Search...

BalanceExperimental

List eSIM balance updates

Returns completed balance updates, newest first. For an eSIM whose balance accepts credits only, the history lists the credits made through this API, not every change to the balance; read the balance itself for the current amount. Before such an eSIM is activated this returns 409 with code balance_not_available.

get/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)

Query parameters

limitinteger

Maximum number of items to return (1-100)

Default20
cursorstring

Opaque cursor token for fetching the next page. Pass the nextCursor value from a previous response.

typestring

Filter by update type

Optionscreditdebit
sourcestring

Filter by update source

Optionsclientprovidersystem
fromstring · date-time

Include updates created at or after this timestamp

untilstring · date-time

Include updates created at or before this timestamp

clientTransactionIdstring

Filter by client transaction identifier

providerTransactionIdstring

Filter by provider transaction identifier

Responses

200Balance update historyapplication/json
Show response body
dataarray of EsimBalanceUpdate
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

paginationobject
Show properties
limitinteger

Maximum items per page

hasMoreboolean

Whether there are more items after this page

nextCursorstring | null

Opaque cursor token for the next page. Null when there are no more results.

409The eSIM is not active yet, so its balance is not availableapplication/problem+json
Show response body
typestring · uri

URI reference to error documentation

titlestring

Short, consistent error summary

statusinteger

HTTP status code

detailstring

Human-readable explanation specific to this occurrence

codestring

Extensible enum. Machine-readable error slug. This is the field clients should branch on. The URI in type documents the code. Handle an unknown code by its HTTP status.

Examplesbad_requestvalidation_failedunauthorizedpayment_requiredfeature_not_enabledforbiddenbalance_not_foundesim_not_foundnot_foundnumber_registration_not_foundport_in_not_foundprofile_not_foundscheduled_action_not_foundsubscription_not_foundsubscription_plan_not_foundwebhook_endpoint_not_foundbalance_not_availablebalance_update_pendingconcurrent_modificationconflictesim_change_pendingesim_not_activeesim_not_provisionedesim_suspendedesim_swap_cooldownesim_swap_pendingesim_terminatedinvalid_state_transitionlimit_reachedno_esim_availablenumber_registration_pendingport_in_pendingservices_change_pendingservices_not_availablebalance_not_supportedbalance_operation_not_supportedbalance_update_refusedclient_transaction_id_reusedesim_variant_not_allowedesim_variant_not_swappableidempotency_key_reusedinsufficient_balancenumber_not_availablenumber_registration_not_supportedport_in_cancel_refusedporting_not_supportedservices_change_refusedservices_not_changeableservices_not_supportedsim_refused_by_networkunprocessable_entitylockedrate_limit_exceededinternal_errorbad_gatewayservice_unavailable
400Bad request - invalid parameters401Unauthorized - missing or invalid API key403Forbidden - client does not have access to this resource404Resource not found422Request 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 error