Skip to content

List eSIMs

GET/v1/esimsesims:read

Returns your eSIMs, newest first, cursor-paginated. Use it to build an inventory view or to reconcile your records against ours.

Name Type Default Notes
limit integer 50 Maximum 200
cursor string — next_cursor from the previous page
Terminal window
curl 'https://partner-api.esimfo.com/v1/esims?limit=200' \
-H 'Authorization: Bearer esf_live_at_...'
Field Type Notes
data[] array eSIMs — the same fields as Get an eSIM
next_cursor string | null Pass as cursor for the next page
has_more boolean Whether another page exists
{
"data": [
{
"id": "esm_9a3f1c",
"iccid": "89852350326100409575",
"lpa_code": "LPA:1$rsp.truphone.com$QR-G-5C-1LK-1V0FS",
"qr_code_url": "https://cdn.esimfo.com/qr/esm_9a3f1c.png",
"smdp_address": "rsp.truphone.com",
"matching_id": "QR-G-5C-1LK-1V0FS",
"status": "ACTIVE",
"data_total_mb": 3072,
"data_used_mb": 512,
"data_remaining_mb": 2560,
"expires_at": "2026-09-21T00:00:00.000Z",
"failure_reason": null
},
{
"id": "esm_9a3f0b",
"iccid": "89852350326100409412",
"lpa_code": "LPA:1$rsp.truphone.com$QR-G-5C-1LK-0ZX2P",
"qr_code_url": "https://cdn.esimfo.com/qr/esm_9a3f0b.png",
"smdp_address": "rsp.truphone.com",
"matching_id": "QR-G-5C-1LK-0ZX2P",
"status": "PROVISIONED",
"data_total_mb": 10240,
"data_used_mb": 0,
"data_remaining_mb": null,
"expires_at": null,
"failure_reason": null
}
],
"next_cursor": "esm_9a3f0b",
"has_more": true
}

Rows are complete. Unlike orders, this list returns the full eSIM object — including lpa_code and qr_code_url. You do not need a second call per eSIM to deliver one.

Page large. With a limit of 200, a thousand eSIMs cost five requests instead of twenty. See Rate limits.

Reconcile with external_ref. Match eSIMs back to your own records by assigning a customer with your reference — see Assign a customer.

Status Code Cause
403 insufficient_scope Key lacks esims:read
429 rate_limited Over the per-minute allowance