### POST /api/esim/link Source: https://roamify.apidog.io/generate-esims-link-for-sharing-26396273e0 Generates a shareable installation link for an eSIM profile. Send this link to your customers so they can install the eSIM on their device. Requires either `iccid` or `esimId` — not both. ```APIDOC ## POST /api/esim/link ### Description Generates a shareable installation link for an eSIM profile. Send this link to your customers so they can install the eSIM on their device. Requires either `iccid` or `esimId` — not both. ### Method POST ### Endpoint /api/esim/link ### Parameters #### Header Parameters - **Authorization** (string) - Required - #### Request Body - **esimId** (string) - one of - The eSIM ID provided by Roamify. Not needed if `iccid` is provided. - **iccid** (string) - one of - The ICCID of the eSIM. - **referenceId** (string) - Optional - ### Request Example { "esimId": "c0b2d861-c5f2-47b6-b5c2-7f0435d0ef35" // OR // "iccid": "iccid here" } ### Response #### Success Response (200) - (object) - #### Response Example application/json; charset=utf-8 content type is not supported in the response body ``` -------------------------------- ### OpenAPI Specification for eSIM Compatible Devices Source: https://roamify.apidog.io/get-esim-compatible-devices-12947633e0 This OpenAPI 3.0.1 specification defines the 'Get eSIM Compatible Devices' endpoint. It includes the path, GET method, required Authorization header, and response structure. The example shows how to run this API in Apidog. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /api/compatible-devices: get: summary: Get eSIM Compatible Devices deprecated: false description: >- Returns a list of devices compatible with Roamify eSIM. There are no parameters for this endpoint. tags: - Compatible Devices parameters: - name: Authorization in: header description: '' required: true example: '{{token}}' schema: type: string responses: '200': description: '' content: '*/*': schema: type: object properties: {} x-apidog-orders: [] example: >- application/json; charset=utf-8 content type is not supported in the response body headers: {} x-apidog-name: successfully / 200 security: [] x-apidog-folder: Compatible Devices x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/777893/apis/api-12947633-run components: schemas: {} securitySchemes: {} servers: - url: https://api-dev.getroamify.com description: Development - url: https://api.getroamify.com description: Production security: [] ``` -------------------------------- ### Get eSIM Events Source: https://roamify.apidog.io/get-esim-events-21103919e0 Returns the lifecycle event history of a specific eSIM, including installation, activation, and deletion events. At least one of the query parameters (iccid, esimId, referenceId) must be provided. ```APIDOC ## GET /api/esim/events ### Description Returns the lifecycle event history of a specific eSIM, including installation, activation, and deletion events. At least one of the query parameters below must be provided. ### Method GET ### Endpoint /api/esim/events ### Parameters #### Query Parameters - **iccid** (string) - one of - The ICCID of the eSIM. - **esimId** (string) - one of - The eSIM ID provided by Roamify. - **referenceId** (string) - one of - The reference ID provided when creating the order. #### Headers - **Authorization** (string) - Required - The authentication token. ### Response #### Success Response (200) - **iccid** (string) - The ICCID of the eSIM. - **esimId** (string) - The eSIM ID assigned by Roamify. - **referenceId** (string) - The reference ID from the original order. - **events** (array) - Chronological list of lifecycle events. - **events[].iccid** (string) - The ICCID associated with the event. - **events[].eid** (string) - The EID of the device the eSIM was downloaded to. Empty if not yet downloaded. - **events[].status** (string) - Event status. Possible values: `NEW`, `DOWNLOADED`, `INSTALLED`, `ACTIVATED`, `INACTIVE`, `DELETED`. - **events[].timeStamp** (number) - Unix timestamp of the event. - **events[].dateTime** (string) - ISO 8601 datetime of the event. - **locations** (array) - List of locations associated with the eSIM, if available. ### Response Example ```json { "iccid": "89490123456789012345", "esimId": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "referenceId": "ORDER12345", "events": [ { "iccid": "89490123456789012345", "eid": "EID123456789012345", "status": "INSTALLED", "timeStamp": 1678886400, "dateTime": "2023-03-15T12:00:00Z" } ], "locations": [ { "latitude": 34.0522, "longitude": -118.2437, "timestamp": 1678886400 } ] } ``` ``` -------------------------------- ### Get eSIM Usage Details Source: https://roamify.apidog.io/get-esim-usage-details-15438479e0 Returns granular usage details of a specific eSIM, including daily data consumption breakdown. Use this alongside Get eSIM Usage for a more detailed breakdown. ```APIDOC ## GET /api/esim/usage/details ### Description Returns granular usage details of a specific eSIM, including daily data consumption breakdown. Use this alongside Get eSIM Usage for a more detailed breakdown. ### Method GET ### Endpoint /api/esim/usage/details ### Query Parameters - **iccid** (string) - Required - The ICCID of the eSIM to retrieve usage details for. ### Headers - **Authorization** (string) - Required - Bearer token for authentication. ### Response #### Success Response (200) - **iccid** (string) - The ICCID of the eSIM. - **status** (string) - Current status of the eSIM (e.g. `ACTIVE`, `EXPIRED`). - **startedAt** (number) - Unix timestamp of when the eSIM package started. - **expiredAt** (number) - Unix timestamp of when the eSIM package expired or will expire. - **allowedData** (number) - Total data allowance in KB. - **remainingData** (number) - Remaining data in KB. - **allowedSms** (number) - Total SMS allowance. - **remainingSms** (number) - Remaining SMS count. - **allowedVoice** (number) - Total voice allowance in seconds. - **remainingVoice** (number) - Remaining voice in seconds. - **dataUsages** (array) - Daily breakdown of data consumption. - **dataUsages[].date** (string) - Date of usage in `YYYY-MM-DD` format. - **dataUsages[].usage** (number) - Data consumed on that date in KB. - **dataUsages[].location** (string) - Location where data was consumed, if available. ``` -------------------------------- ### Get eSIM Compatible TopUp Packages Source: https://roamify.apidog.io/get-esim-compatible-topup-packages-12947627e0 Fetches a list of compatible top-up packages for a specified eSIM. The `packageId` from the response can be used when creating a top-up order. ```APIDOC ## GET /api/esim/topup/packages ### Description Returns a list of compatible top-up packages for a given eSIM. Use the `packageId` from the response when creating a top-up order. ### Method GET ### Endpoint /api/esim/topup/packages ### Parameters #### Query Parameters - **iccid** (string) - Required - The ICCID of the eSIM to fetch compatible packages for. - **gbs** (number) - Optional - Specifies the desired data volume in GB (e.g., 1, 3, 5). - **days** (number) - Optional - Specifies the validity period in days (e.g., 1, 2, 3, 4, 5). - **isUnlimited** (boolean) - Optional - Indicates whether unlimited data is desired (true/false). - **packageId** (string) - Optional - The specific package ID to filter by. #### Header Parameters - **Authorization** (string) - Required - The authentication token for the request. ### Response #### Success Response (200) - The response will be an object containing details about the compatible top-up packages. The exact structure is not detailed but is expected to include a `packageId` field for use in top-up orders. ``` -------------------------------- ### OpenAPI Specification for Get Account Balance Source: https://roamify.apidog.io/get-account-balance-12947636e0 This YAML defines the GET /api/balance endpoint, which returns the remaining balance of an account. It requires an Authorization header and has no other parameters. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /api/balance: get: summary: Get Account Balance deprecated: false description: >- Returns the remaining balance of your account funds. There are no parameters for this endpoint. tags: - Account Balance parameters: - name: Authorization in: header description: '' required: true example: '{{token}}' schema: type: string responses: '200': description: '' content: '*/*': schema: type: object properties: {} x-apidog-orders: [] headers: {} x-apidog-name: successfully / 200 security: [] x-apidog-folder: Account Balance x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/777893/apis/api-12947636-run components: schemas: {} securitySchemes: {} servers: - url: https://api-dev.getroamify.com description: Development - url: https://api.getroamify.com description: Production security: [] ``` -------------------------------- ### OpenAPI Specification for TopUp Packages Source: https://roamify.apidog.io/get-esim-compatible-topup-packages-12947627e0 This OpenAPI 3.0.1 specification defines the GET /api/esim/topup/packages endpoint, including its parameters, responses, and security requirements. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /api/esim/topup/packages: get: summary: Get eSIM Compatible TopUp Packages deprecated: false description: >- Returns a list of compatible top-up packages for a given eSIM. Use the `packageId` from the response when creating a top-up order. ### Query Parameters | Name | Type | Required | Description | |------|------|----------|-------------| | `iccid` | `string` | required | The ICCID of the eSIM to fetch compatible packages for. | tags: - eSIMs parameters: - name: iccid in: query description: '' required: true example: '{{iccid}}' schema: type: string - name: gbs in: query description: 1,3,5.... required: false example: 3 schema: type: number - name: days in: query description: 1,2,3,4,5..... required: false example: 30 schema: type: number - name: isUnlimited in: query description: true/false required: false example: 'false' schema: type: boolean - name: packageId in: query description: Package ID required: false example: esim-afghanistan-7days-1gb-all schema: type: string - name: Authorization in: header description: '' required: true example: '{{token}}' schema: type: string responses: '200': description: '' content: '*/*': schema: type: object properties: {} x-apidog-orders: [] example: >- application/json; charset=utf-8 content type is not supported in the response body headers: {} x-apidog-name: successfully / 200 security: [] x-apidog-folder: eSIMs x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/777893/apis/api-12947627-run components: schemas: {} securitySchemes: {} servers: - url: https://api-dev.getroamify.com description: Development - url: https://api.getroamify.com description: Production security: [] ``` -------------------------------- ### Get Order Source: https://roamify.apidog.io/llms.txt Returns the details of a specific eSIM order. ```APIDOC ## GET /orders/esim/{orderId} ### Description Returns the details of a specific eSIM order. ### Method GET ### Endpoint /orders/esim/{orderId} ### Parameters #### Path Parameters - **orderId** (string) - Required - The ID of the order to retrieve. ### Response #### Success Response (200) - **orderId** (string) - Unique identifier for the order. - **packageId** (string) - The ID of the eSIM package ordered. - **quantity** (integer) - The number of packages ordered. - **orderDate** (string) - The date and time the order was placed. - **status** (string) - The current status of the order. - **esimDetails** (array) - Details of the eSIMs associated with the order (if fulfilled). - **esimId** (string) - Unique identifier for the eSIM. - **iccid** (string) - The ICCID of the eSIM. - **profileStatus** (string) - The status of the eSIM profile. ### Response Example { "example": "{\n \"orderId\": \"ord_abc\",\n \"packageId\": \"pkg_123\",\n \"quantity\": 1,\n \"orderDate\": \"2023-10-27T10:00:00Z\",\n \"status\": \"completed\",\n \"esimDetails\": [\n {\n \"esimId\": \"esim_xyz\",\n \"iccid\": \"89123456789012345678\",\n \"profileStatus\": \"active\"\n }\n ]\n}" ``` -------------------------------- ### Get eSIMs Source: https://roamify.apidog.io/get-esims-12947630e0 Returns a paginated list of eSIMs. All parameters are optional; omitting them returns the latest 50 eSIMs. ```APIDOC ## GET /api/esims ### Description Returns a paginated list of eSIMs. All parameters are optional — omitting them returns the latest 50 eSIMs. ### Method GET ### Endpoint /api/esims ### Parameters #### Query Parameters - **status** (string) - optional - Filter eSIMs by status. Accepted values: `NEW`, `READY`, `INSTALLED`, `REVOKED`, `EXPIRED`, `UNKNOWN`. - **limit** (number) - optional - Number of eSIMs to return. Defaults to `50`. #### Headers - **Authorization** (string) - Required - Example: `{{token}}` ### Response #### Success Response (200) - The response is a JSON object with no specified properties in the schema. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### OpenAPI Specification for Get eSIM Packages Source: https://roamify.apidog.io/get-esim-packages-12947634e0 This OpenAPI 3.0.1 specification defines the GET /api/esim/packages endpoint, including its query parameters, authentication requirements, and response structure. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /api/esim/packages: get: summary: Get eSIM Packages deprecated: false description: >- Returns a paginated list of eSIM data packages. All parameters are optional — omitting them returns all packages. Use combinations of filters to narrow results by geography, validity, data size, or a specific package ID. ### Query Parameters | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | `string` | optional | Full country name. Retrieve the accepted value from the `name` field in the eSIM Country API. | | `countryCode` | `string` | optional | ISO country code. Retrieve the accepted value from the `code` field in the eSIM Country API. Can be used instead of or alongside `country`. | | `days` | `number` | optional | Filter by eSIM validity period in days. | | `gbs` | `number` | optional | Filter by data allowance in gigabytes. Ignored when `isUnlimited` is `true`. | | `geography` | `string` | optional | Scope of coverage for the package. Accepted values: `local`, `regional`, `global`. | | `isUnlimited` | `boolean` | optional | When `true`, returns only unlimited data plans. When `false` or omitted, all plans are returned. | | `packageId` | `string` | optional | Fetch a specific package by its unique identifier. When provided, all other filters are typically ignored. | | `page` | `string` | optional | Page number for paginated results. Defaults to `1` if omitted. | | `pageSize` | `string` | optional | Number of results per page. Defaults to `50`. | > **Country lookup:** Both `code` and `name` values must come from the eSIM Country API response — arbitrary strings are not accepted. Call that endpoint first to obtain valid identifiers. tags: - eSIM Packages parameters: - name: country in: query description: >- Full country name. Retrieve the accepted value from the name field in the eSIM Country API. required: false example: canada schema: type: string - name: countryCode in: query description: >- ISO country code. Retrieve the accepted value from the `code` field in the eSIM Country API. Can be used instead of or alongside `country`. required: false example: CA schema: type: string - name: geography in: query description: >- Scope of coverage for the package. Accepted values: `local`, `regional`, `global`. required: false example: regional schema: type: string - name: days in: query description: Filter by eSIM validity period in days. required: false example: 30 schema: type: number - name: gbs in: query description: >- Filter by data allowance in gigabytes. Ignored when `isUnlimited` is `true` required: false example: 3 schema: type: number - name: isUnlimited in: query description: >- When `true`, returns only unlimited data plans. When `false` or omitted, all plans are returned. required: false example: 'false' schema: type: boolean - name: packageId in: query description: >- Fetch a specific package by its unique identifier. When provided, all other filters are typically ignored. required: false example: esim-afghanistan-7days-1gb-all schema: type: string - name: page in: query description: Page number for paginated results. Defaults to `1` if omitted. required: false example: '1' schema: type: string - name: pageSize in: query description: Number of results per page. Defaults to `50`. required: false example: '50' schema: type: string - name: Authorization in: header description: '' required: true example: '{{token}}' schema: type: string responses: '200': description: '' content: '*/*': schema: type: object properties: {} x-apidog-orders: [] example: >- ``` -------------------------------- ### OpenAPI Specification for Get Order Source: https://roamify.apidog.io/get-order-12947626e0 This OpenAPI 3.0.1 specification defines the 'Get Order' API endpoint. It includes details on the request method, parameters, and responses. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /api/esim/order: get: summary: Get Order deprecated: false description: >- Returns the details of a specific eSIM order. ### Query Parameters | Name | Type | Required | Description | |------|------|----------|-------------| | `orderId` | `string` | required | The ID of the eSIM order to retrieve. | tags: - Orders parameters: - name: orderId in: query description: '' required: true example: '{{orderId}}' schema: type: string - name: Authorization in: header description: '' required: true example: '{{token}}' schema: type: string responses: '200': description: '' content: '*/*': schema: type: object properties: {} x-apidog-orders: [] example: >- application/json; charset=utf-8 content type is not supported in the response body headers: {} x-apidog-name: successfully / 200 security: [] x-apidog-folder: Orders x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/777893/apis/api-12947626-run components: schemas: {} securitySchemes: {} servers: - url: https://api-dev.getroamify.com description: Development - url: https://api.getroamify.com description: Production security: [] ``` -------------------------------- ### Get Order Source: https://roamify.apidog.io/get-order-12947626e0 Returns the details of a specific eSIM order. Requires the order ID and an authorization token. ```APIDOC ## GET /api/esim/order ### Description Returns the details of a specific eSIM order. ### Method GET ### Endpoint /api/esim/order ### Parameters #### Query Parameters - **orderId** (string) - Required - The ID of the eSIM order to retrieve. #### Header Parameters - **Authorization** (string) - Required - The authorization token. ### Response #### Success Response (200) - The response body is an object with no specific properties defined in the schema. #### Response Example ```json { "example": "application/json; charset=utf-8 content type is not supported in the response body" } ``` ``` -------------------------------- ### Get eSIM Packages Source: https://roamify.apidog.io/get-esim-packages-12947634e0 Retrieves a list of available eSIM packages. This endpoint provides information about different eSIM plans that can be purchased. ```APIDOC ## GET /v1/esim/packages ### Description Retrieves a list of available eSIM packages. ### Method GET ### Endpoint /v1/esim/packages ### Parameters #### Query Parameters - **country_code** (string) - Optional - Filter packages by country code. - **operator_code** (string) - Optional - Filter packages by operator code. ### Response #### Success Response (200) - **packages** (array) - A list of eSIM package objects. - **id** (string) - Unique identifier for the eSIM package. - **name** (string) - Name of the eSIM package. - **description** (string) - Description of the eSIM package. - **price** (object) - Pricing details for the package. - **amount** (number) - The price amount. - **currency** (string) - The currency of the price. - **data** (object) - Data allowance details. - **value** (number) - The data value. - **unit** (string) - The unit of data (e.g., GB, MB). - **validity** (object) - Validity period of the package. - **value** (number) - The validity duration. - **unit** (string) - The unit of validity (e.g., days, months). - **type** (string) - Type of the eSIM package (e.g., prepaid, postpaid). - **country_code** (string) - The country code associated with the package. - **operator_code** (string) - The operator code associated with the package. #### Response Example { "packages": [ { "id": "pkg_123", "name": "Global 10GB Plan", "description": "10GB of data for 30 days, usable in over 100 countries.", "price": { "amount": 25.00, "currency": "USD" }, "data": { "value": 10, "unit": "GB" }, "validity": { "value": 30, "unit": "days" }, "type": "prepaid", "country_code": "GLOBAL", "operator_code": "ROAMIFY" } ] } ``` -------------------------------- ### Get eSIM Packages History Source: https://roamify.apidog.io/get-esim-packages-history-12947629e0 Returns the history of all packages that have been applied to a specific eSIM, including top-ups. ```APIDOC ## GET /api/esim/history ### Description Returns the history of all packages that have been applied to a specific eSIM, including top-ups. ### Method GET ### Endpoint /api/esim/history ### Parameters #### Query Parameters - **iccid** (string) - required - The ICCID of the eSIM to retrieve package history for. - **Authorization** (string) - required - ### Response #### Success Response (200) - (object) - #### Response Example ```json { "example": "application/json; charset=utf-8 content type is not supported in the response body" } ``` ``` -------------------------------- ### Get Supported Currencies Source: https://roamify.apidog.io/get-supported-currencies-25199249e0 Fetches a comprehensive list of currencies supported by the system. The currency codes returned are necessary for subsequent requests, such as fetching exchange rates. ```APIDOC ## GET /api/currencies ### Description Returns a list of all supported currencies. Use the code values from this response as input for the Get Exchange Rate endpoint. ### Method GET ### Endpoint /api/currencies ### Parameters #### Header Parameters - **Authorization** (string) - Optional - ### Response #### Success Response (200) - **status** (string) - - **data** (array) - - **name** (string) - - **code** (string) - - **symbol** (string) - ### Response Example { "status": "success", "data": [ { "name": "United Arab Emirates dirham", "code": "AED", "symbol": "د.إ" }, { "name": "Afghanistan afghani", "code": "AFN", "symbol": "؋" } ] } ``` -------------------------------- ### Get eSIM Compatible Devices Source: https://roamify.apidog.io/get-esim-compatible-devices-12947633e0 Fetches a list of devices compatible with Roamify eSIM. This endpoint does not accept any parameters but requires an Authorization header for authentication. ```APIDOC ## GET /api/compatible-devices ### Description Returns a list of devices compatible with Roamify eSIM. There are no parameters for this endpoint. ### Method GET ### Endpoint /api/compatible-devices ### Parameters #### Header Parameters - **Authorization** (string) - Required - Example: '{{token}}' ### Response #### Success Response (200) - The response body is an empty object, indicating success. The content type is application/json; charset=utf-8. #### Response Example ```json {} ``` ``` -------------------------------- ### Get eSIM Usage Source: https://roamify.apidog.io/llms.txt Returns the data usage details of a specific eSIM. ```APIDOC ## GET /esims/{esimId}/usage ### Description Returns the data usage details of a specific eSIM. ### Method GET ### Endpoint /esims/{esimId}/usage ### Parameters #### Path Parameters - **esimId** (string) - Required - The ID of the eSIM. ### Response #### Success Response (200) - **usedData** (string) - The amount of data used (e.g., '2.5GB'). - **totalData** (string) - The total data allowance (e.g., '5GB'). - **remainingData** (string) - The amount of data remaining (e.g., '2.5GB'). - **validityEndDate** (string) - The expiration date of the current data package. ### Response Example { "example": "{\n \"usedData\": \"2.5GB\",\n \"totalData\": \"5GB\",\n \"remainingData\": \"2.5GB\",\n \"validityEndDate\": \"2023-11-26T23:59:59Z\"\n}" ``` -------------------------------- ### Create eSIM Order Source: https://roamify.apidog.io/llms.txt Creates one or more eSIM orders in a single request. Use the `packageId` obtained from the Get eSIM Packages endpoint. ```APIDOC ## POST /orders/esim ### Description Creates one or more eSIM orders in a single request. Use the `packageId` obtained from the Get eSIM Packages endpoint. ### Method POST ### Endpoint /orders/esim ### Parameters #### Request Body - **orders** (array) - Required - A list of orders to create. - **packageId** (string) - Required - The ID of the eSIM package to order. - **quantity** (integer) - Optional - The number of packages to order (default is 1). ### Request Example { "example": "{\n \"orders\": [\n {\n \"packageId\": \"pkg_123\",\n \"quantity\": 1\n }\n ]\n}" } ### Response #### Success Response (201) - **orderIds** (array) - A list of unique identifiers for the created orders. #### Response Example { "example": "{\n \"orderIds\": [\n \"ord_abc\",\n \"ord_def\"\n ]\n}" ``` -------------------------------- ### Get all eSIM Orders Source: https://roamify.apidog.io/get-all-esim-orders-12947625e0 Returns a paginated list of eSIM orders. All parameters are optional; omitting them returns the latest 50 orders. ```APIDOC ## GET /api/esim/orders ### Description Returns a paginated list of eSIM orders. All parameters are optional — omitting them returns the latest 50 orders. ### Method GET ### Endpoint /api/esim/orders ### Query Parameters - **status** (string) - optional - Filter orders by status. Accepted values: `PENDING`, `COMPLETED`, `ARCHIVED`, `CANCELLED`, `REFUNDED`, `REQUIRE_ACTION`. - **limit** (number) - optional - Number of orders to return. Defaults to `50`. ### Headers - **Authorization** (string) - Required - Example: `{{token}}` ### Response #### Success Response (200) - **(object)** - Description: An object containing a list of eSIM orders. ### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### OpenAPI Specification for Generate eSIMs Link Source: https://roamify.apidog.io/generate-esims-link-for-sharing-26396273e0 This OpenAPI 3.0.1 specification defines the endpoint for generating a shareable eSIM installation link. It includes details on request parameters, body, and responses. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /api/esim/link: post: summary: Generate eSIMs Link for Sharing deprecated: false description: >- Generates a shareable installation link for an eSIM profile. Send this link to your customers so they can install the eSIM on their device. Requires either `iccid` or `esimId` — not both. ### Body Parameters | Name | Type | Required | Description | |------|------|----------|-------------| | `iccid` | `string` | one of | The ICCID of the eSIM. | | `esimId` | `string` | one of | The eSIM ID provided by Roamify. Not needed if `iccid` is provided. | tags: - eSIMs parameters: - name: Authorization in: header description: '' required: true example: '{{token}}' schema: type: string requestBody: content: application/json: schema: type: object properties: esimId: type: string x-apidog-mock: 2b597ec2-daf9-4842-bd21-21ca2ce3bca6 referenceId: type: string x-apidog-mock: my-reference-id x-apidog-orders: - esimId - referenceId example: "{\n\t\"esimId\": \"c0b2d861-c5f2-47b6-b5c2-7f0435d0ef35\"\n\t// OR\n\t// \"iccid\": \"iccid here\"\n}" responses: '200': description: '' content: '*/*': schema: type: object properties: {} x-apidog-orders: [] example: >- application/json; charset=utf-8 content type is not supported in the response body headers: {} x-apidog-name: successfully / 200 security: [] x-apidog-folder: eSIMs x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/777893/apis/api-26396273-run components: schemas: {} securitySchemes: {} servers: - url: https://api-dev.getroamify.com description: Development - url: https://api.getroamify.com description: Production security: [] ``` -------------------------------- ### OpenAPI Specification for Get eSIM Usage Source: https://roamify.apidog.io/get-esim-usage-12947628e0 This YAML snippet defines the OpenAPI 3.0.1 specification for the Get eSIM Usage API endpoint. It includes details on the GET request, query parameters (iccid, Authorization), and response structure. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /api/esim/usage: get: summary: Get eSIM Usage deprecated: false description: >- Returns the data usage details of a specific eSIM. ### Query Parameters | Name | Type | Required | Description | |------|------|----------|-------------| | `iccid` | `string` | required | The ICCID of the eSIM to retrieve usage for. | tags: - eSIMs parameters: - name: iccid in: query description: '' required: true example: '{{iccid}}' schema: type: string - name: Authorization in: header description: '' required: true example: '{{token}}' schema: type: string responses: '200': description: '' content: '*/*': schema: type: object properties: {} x-apidog-orders: [] example: >- application/json; charset=utf-8 content type is not supported in the response body headers: {} x-apidog-name: successfully / 200 security: [] x-apidog-folder: eSIMs x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/777893/apis/api-12947628-run components: schemas: {} securitySchemes: {} servers: - url: https://api-dev.getroamify.com description: Development - url: https://api.getroamify.com description: Production security: [] ``` -------------------------------- ### POST /api/esim/order/topup Source: https://roamify.apidog.io/create-esim-top-up-order-12947624e0 Creates a top-up order for an existing eSIM, adding more data or extending validity. It requires the ICCID of the eSIM and the ID of the package to apply. ```APIDOC ## POST /api/esim/order/topup ### Description Creates a top-up order for an existing eSIM, adding more data or extending validity. ### Method POST ### Endpoint /api/esim/order/topup ### Parameters #### Header Parameters - **Authorization** (string) - Required - #### Request Body - **iccid** (string) - Required - The ICCID of the eSIM to top up. - **packageId** (string) - Required - The ID of the package to apply. Retrieve compatible packages from the Get eSIM Compatible TopUp Packages endpoint. ### Request Example ```json { "iccid": "894000000000039210", "packageId": "esim-cambodia-7days-1gb-all" } ``` ### Response #### Success Response (200) - (object) - #### Response Example ```json application/json; charset=utf-8 content type is not supported in the response body ``` ``` -------------------------------- ### Create Instant eSIM Order Source: https://roamify.apidog.io/llms.txt Creates an eSIM order and immediately fulfills it — no need to call a separate `/apply` endpoint. The response includes the ready-to-use eSIM profile. ```APIDOC ## POST /orders/esim/instant ### Description Creates an eSIM order and immediately fulfills it — no need to call a separate `/apply` endpoint. The response includes the ready-to-use eSIM profile. ### Method POST ### Endpoint /orders/esim/instant ### Parameters #### Request Body - **packageId** (string) - Required - The ID of the eSIM package to order. ### Request Example { "example": "{\n \"packageId\": \"pkg_123\"\n}" } ### Response #### Success Response (201) - **orderId** (string) - The unique identifier for the created order. - **esimProfile** (object) - The eSIM profile details. - **activationCode** (string) - The activation code for the eSIM. - **downloadUrl** (string) - The URL to download the eSIM profile. - **smdpAddress** (string) - The SM-DP+ address. #### Response Example { "example": "{\n \"orderId\": \"ord_instant_111\",\n \"esimProfile\": {\n \"activationCode\": \"ABCDEF123456\",\n \"downloadUrl\": \"https://smdp.example.com/download/profile/xyz\",\n \"smdpAddress\": \"https://smdp.example.com\"\n }\n}" ``` -------------------------------- ### OpenAPI Specification for Get eSIM Source: https://roamify.apidog.io/get-esim-12947631e0 This OpenAPI 3.0.1 specification defines the 'Get eSIM' GET endpoint. It includes details on query parameters (iccid or esimId), headers (Authorization), and expected responses. Use this specification to understand the API contract. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /api/esim: get: summary: Get eSIM deprecated: false description: >- Returns the details of a specific eSIM. Requires either `iccid` or `esimId` — not both. ### Query Parameters | Name | Type | Required | Description | |------|------|----------|-------------| | `iccid` | `string` | one of | The ICCID of the eSIM to retrieve. | | `esimId` | `string` | one of | The eSIM ID provided by Roamify. | tags: - eSIMs parameters: - name: iccid in: query description: '' required: true example: '{{iccid}}' schema: type: string - name: Authorization in: header description: '' required: true example: '{{token}}' schema: type: string responses: '200': description: '' content: '*/*': schema: type: object properties: {} x-apidog-orders: [] example: >- application/json; charset=utf-8 content type is not supported in the response body headers: {} x-apidog-name: successfully / 200 security: [] x-apidog-folder: eSIMs x-apidog-status: released x-run-in-apidog: https://app.apidog.com/web/project/777893/apis/api-12947631-run components: schemas: {} securitySchemes: {} servers: - url: https://api-dev.getroamify.com description: Development - url: https://api.getroamify.com description: Production security: [] ``` -------------------------------- ### Create Instant eSIM Order Source: https://roamify.apidog.io/create-instant-esim-order-no-apply-needed-26396287e0 Creates an eSIM order and immediately fulfills it, providing a ready-to-use eSIM profile. This endpoint bypasses the need for a separate `/apply` endpoint. Ensure your request timeout is set to at least 60 seconds. ```APIDOC ## POST /api/esim/order/instant ### Description Creates an eSIM order and immediately fulfills it — no need to call a separate `/apply` endpoint. The response includes the ready-to-use eSIM profile. Set your request timeout to at least 60 seconds. Fulfillment time may vary depending on the package ordered. ### Method POST ### Endpoint /api/esim/order/instant ### Parameters #### Header Parameters - **Authorization** (string) - Required - Example: '{{token}}' #### Request Body - **items** (array) - Required - List of eSIM packages to order. Must contain at least one item. - **items[].packageId** (string) - Required - The ID of the eSIM package to order. Retrieve valid IDs from the Get eSIM Packages endpoint. - **items[].quantity** (number) - Required - Number of eSIMs to order for this package. - **referenceId** (string) - Optional - Your own reference ID for the order, useful for reconciliation with your internal systems. ### Request Example ```json { "items": [ { "packageId": "esim-cambodia-7days-1gb-all", "quantity": 1 } ], "referenceId": "partner reference id(optional)" } ``` ### Response #### Success Response (200) (Response schema is not detailed in the source, but typically includes eSIM profile details upon successful order creation and fulfillment.) #### Response Example (Response example is not provided in the source, but typically includes eSIM profile details.) ```