Skip to content

Create a share link

POST/v1/esims/{iccid}/share-linkesims:read

Returns a link the customer opens on their phone to install the eSIM, and a 4-digit access code the page asks for before it shows anything. The page carries your brand — your name, logo and support contact — not ours.

Use it when you would rather hand the customer a link than embed the QR code yourself. Everything the page shows is also available on Get an eSIM if you want to render it in your own app.

Name Notes
iccid The ICCID of the eSIM
Terminal window
curl -X POST https://partner-api.esimfo.com/v1/esims/89852350326100409575/share-link \
-H 'Authorization: Bearer esf_live_at_...'

No request body.

Field Type Notes
url string Send this to the customer. Opens the installation page under your brand
access_code string 4 digits. The customer types it on the page
{
"url": "https://sharesim.io/travelsim/K7MXQ4RB2N",
"access_code": "4831"
}

Send the url and the code separately. The code is what keeps the page private: without it the page shows nothing, and the page locks after a few wrong attempts. Put the link in one message and the code in another, or show the code at your checkout.

Safe to repeat. The link is created on the first call. Every call after that returns the same url and access_code, so you can call it again whenever the customer asks for the link instead of storing it.

Requires a brand username. The page lives at /{username}/…, so the account needs a brand set up in the portal under Settings, Brand. Until then this endpoint returns brand_not_configured.

It is a POST that answers 200. The first call does create something, but the result is the same on every call, so there is no 201 and no Idempotency-Key.

Status Code Cause
404 not_found No such ICCID, or it belongs to another account
422 brand_not_configured No brand username on the account — set one up in the portal
403 insufficient_scope Key lacks esims:read