ProfileExperimental
List profiles
Retrieves a paginated list of the profiles belonging to the authenticated client, newest first. A profile is the identity every eSIM, package and usage record hangs off, so this is the entry point for building an index of your customers.
Pass externalProfileId to look up the profile you created for one of your own customer records, profileReference to confirm a reference you already hold, or iccid / esimReference to find the profile an eSIM currently belongs to. esimReference resolves the owner of an eSIM you only know from a balance webhook, which carries no profileReference.
Every filter matches exactly and combines with AND, so a profileReference and an iccid that point at different profiles return an empty list. Each filter narrows the profile rather than the eSIM, so an iccid and an esimReference naming two eSIMs of the same profile still match that profile. A filter that matches nothing is a 200 with data: [], never a 404.
Each profile carries its esim. lifecycleStatus returns the profiles whose esim has that lifecycle status.
/profilesAuthorization
Authorization: Bearer {token} — an OAuth2 access token from the client-credentials flow. How authentication works
Query parameters
limitintegerMaximum number of items to return (1-100)
20cursorstringOpaque cursor token for fetching the next page. Pass the nextCursor value from a previous response.
lifecycleStatusstringReturn only the profiles whose esim has this lifecycle status
preactiveactivesuspendedterminatedfaultedstaleexternalProfileIdstringReturn only the profiles carrying this external identifier
profileReferencestringReturn only the profile carrying this reference
iccidstringReturn only the profile that currently owns the eSIM with this ICCID. An eSIM reassigned to another profile is found under its new owner only.
esimReferencestringReturn only the profile that currently owns this eSIM. An eSIM reassigned to another profile is found under its new owner only.
Responses
200List of profilesapplication/jsonShow response bodyHide response body
dataarray of ProfileSummaryoptionalShow propertiesHide properties
profileReferencestringProfile reference identifier (16-digit opaque token)
externalProfileIdstring | nullYour own identifier for this profile, supplied when the eSIM was ordered
communicationLanguageCodestring | nullThe language the customer is messaged in, as an ISO 639-1 code. null when none is set, in which case messages use the client's default language.
esimobjectThe profile's eSIM: the one it is on, or its last one once every eSIM is terminated. During a swap it stays the addressed eSIM until the switch.
Show propertiesHide properties
profileReferencestringexternalProfileIdstring | nullThe client's external profile ID if provided
esimReferencestringeSIM reference identifier (18-digit opaque token)
iccidstringeidstring | nullThe eUICC Identifier (EID) if available
esimVariantstring | nullThe eSIM's variant (e.g. 'travel'), or null if it has none.
statusstringProfile state on the device, as reported by the SM-DP+. A physical SIM has no download lifecycle and stays released; its service state is lifecycleStatus.
released: Ready for use; an eSIM profile in this state is available for download (QR code ready)downloaded: Profile has been downloaded to the deviceinstalled: Profile is installed on the eSIM chipenabled: Profile is active on the devicedisabled: Profile is installed but disabled on the devicedeleted: Profile has been removed from the devicefaulted: Profile failed to download or install on the device
releaseddownloadedinstalledenableddisableddeletedfaultedlifecycleStatusstringNetwork service state of the eSIM.
preactive: not live on the network yetactive: live on the networksuspended: temporarily without network service; can be reactivatedterminated: permanently without network servicefaulted,stale: network service could not be set up; contact support
preactiveactivesuspendedterminatedfaultedstalecreatedAtstring · date-timeWhen the eSIM was assigned to the profile
updatedAtstring · date-timecreatedAtstring · date-timeupdatedAtstring · date-timepaginationobjectoptionalShow propertiesHide properties
limitintegerMaximum items per page
hasMorebooleanWhether there are more items after this page
nextCursorstring | nullOpaque cursor token for the next page. Null when there are no more results.
401Unauthorized - missing or invalid API key429Rate limit exceeded. A `429` can also arrive without these headers or this body; handle it by its status code.500Internal server error