Create an eSIM order
const url = 'https://api-omni.linra.net/api/v1/orders/esim';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"partnerId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","partnerGlobalId":"example","geoScopeGlobalId":"example","externalReference":"example","amount":1,"sagaId":"example","productSku":"example","email":"hello@example.com","dataAllowance":1,"validityDays":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api-omni.linra.net/api/v1/orders/esim \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "partnerId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "partnerGlobalId": "example", "geoScopeGlobalId": "example", "externalReference": "example", "amount": 1, "sagaId": "example", "productSku": "example", "email": "hello@example.com", "dataAllowance": 1, "validityDays": 1 }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Your own idempotency key.
Examplegenerated
{ "partnerId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "partnerGlobalId": "example", "geoScopeGlobalId": "example", "externalReference": "example", "amount": 1, "sagaId": "example", "productSku": "example", "email": "hello@example.com", "dataAllowance": 1, "validityDays": 1}Responses
Section titled “Responses”Order accepted.
object
object
The saga’s own outcome envelope, distinct from the persisted EsimOrderResponse below.
Internal margin fields (commission/wholesaleAmount) that also exist on this response are
deliberately NOT documented here — treat them as reserved/unsupported if you encounter them.
object
The database ID — use this for GET /api/v1/orders/esim/{orderId}.
Example
{ "state": "SUCCESS", "payload": { "status": "Completed" }}Request validation failed.
The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).
object
Always null on an error response.
object
object
Example
{ "state": "NOT_FOUND_ORDER", "payload": null}Duplicate/in-progress/intervention-required prior attempt.
The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).
object
Always null on an error response.
object
object
Example
{ "state": "NOT_FOUND_ORDER", "payload": null}A business rule rejected the request (HTTP 422).
The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).
object
Always null on an error response.
object
object
Example
{ "state": "NOT_FOUND_ORDER", "payload": null}Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).
The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).
object
Always null on an error response.
object
object
Example
{ "state": "NOT_FOUND_ORDER", "payload": null}Headers
Section titled “Headers”Seconds to wait before retrying.