Download OpenAPI specification:
Sandbox API for eSIM Commerce service - Mock data for testing
Returns a paginated list of data plans available for the reseller. Optionally filter by country code (ISO 3166-1 alpha-2, 2 uppercase letters) and provider code.
| countryCode | string Example: countryCode=JP Country code to filter (ISO 3166-1 alpha-2, 2 uppercase letters) |
| providerCode | string Example: providerCode=KDDI Provider code to filter by |
| page | number Example: page=1 Page number (1-based) |
| limit | number Example: limit=200 Items per page (1-200) |
| includeRoaming | boolean Example: includeRoaming=false Include roaming countries in search. When true, searches both home country (esimProvider.country) and roamingCountries. When false (default), searches home country only. |
required | Array of objects (DataPlanResponseDto) List of data plans |
required | object Pagination metadata |
{- "items": [
- {
- "planCode": "KD0001",
- "planName": "1GB 7 Days Plan",
- "planType": "UNLIMITED",
- "providerCode": "KDDI",
- "coverages": [
- {
- "code": "JP",
- "networks": [
- {
- "name": "NTT Docomo",
- "types": [
- "4G",
- "5G"
]
}
]
}
], - "ipCountry": [
- "JP"
], - "dataCap": 1,
- "dataUnit": "GB",
- "dataCapPer": "DAY",
- "maxSpeed": 10000,
- "reducedSpeed": 128,
- "tethering": true,
- "validityDays": 7,
- "validityInfo": "Valid for 30 days from first use",
- "activationInfo": "Validity starts when the eSIM first connects to a network",
- "unusedTerminationDays": 180,
- "netPrice": "9.99",
- "suggestedRetailPrice": "12.99",
- "telephony": {
- "dialingCode": "+81",
- "voice": {
- "inbound": true,
- "outbound": false
}, - "sms": {
- "inbound": true,
- "outbound": false
}
}, - "topUpSupported": false,
- "eKYC": false,
- "serviceRestrictions": "Unlimited on-device data. Tethering up to 3 GB total."
}
], - "meta": {
- "total": 100,
- "page": 1,
- "limit": 10,
- "totalPages": 10
}
}Simulates new eSIM order for the reseller. The quantity parameter specifies the number of eSIMs to order (1-1000). Different ICCIDs are allocated per request. Rate limit: 10 requests per minute.
| planCode required | string Plan code |
| quantity required | integer [ 1 .. 1000 ] Number of eSIMs to order (1-1000) |
{- "planCode": "RB52",
- "quantity": 1
}{- "transactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
- "esims": [
- {
- "iccid": "8981100000000000001",
- "homeCountry": "JP",
- "roamingCountries": [
- "KR",
- "CN",
- "TW"
], - "contractStatus": "ACTIVE",
- "profileProvisionStatus": "AVAILABLE",
- "profileInstallStatus": "READY",
- "isServiceRestricted": false,
- "qrCode": "LPA:1$smdp.example.com$CODE123",
- "smdpAddress": "smdp.example.com",
- "activationCode": "CODE123",
- "activationDeadline": "2026-06-05T00:00:00.000Z",
- "downloadedAt": "2025-07-15T00:46:09.816Z",
- "activatedOn": "2025-12-01",
- "terminatedOn": "2025-12-31",
- "expiresOn": "2025-12-07",
- "initialInsertionDevice": "123456789012345",
- "initialInsertionAt": "2025-12-01T10:00:00.000Z",
- "initialConnectionDevice": "123456789012345",
- "dataUsageDailyList": [
- {
- "day": "2025-12-10",
- "usage": "102400"
}
], - "totalDataUsage": 307200,
- "lastUpdatedAt": "2026-01-22T10:30:00.000Z"
}
]
}Simulates querying the current state of a specified eSIM (ICCID) from the MNO core system, returning mock contract and profile-download information. Rate limit: 60 requests per minute.
| iccid required | string Example: 8900100000000000001 ICCID (19-digit numeric string: 18-digit base + 1-digit check digit, starts with 8900 for sandbox) |
| X-RateLimit-Limit | integer Example: "60" Maximum number of requests allowed per minute |
| X-RateLimit-Remaining | integer Example: "59" Number of requests remaining in the current time window |
| X-RateLimit-Reset | integer Example: "45" Seconds until the rate limit resets |
| iccid required | string Unique identifier for this eSIM (ICCID). Use this value to query eSIM status or perform operations like emergency control. |
| homeCountry required | string Home country where this eSIM is primarily used (ISO 3166-1 alpha-2 code, e.g., JP for Japan, US for United States). |
| roamingCountries required | Array of strings List of roaming countries where this eSIM can also be used (ISO 3166-1 alpha-2 codes). Empty array if no roaming is available. |
| contractStatus required | string Enum: "ACTIVE" "SUSPENDED" "TERMINATED" Current contract status. ACTIVE: eSIM is usable. SUSPENDED: Temporarily suspended via emergency control (can be released). TERMINATED: Service ended permanently (expired or canceled). |
| profileProvisionStatus required | string Enum: "RESERVATION_PENDING" "RESERVED" "FINALIZED" "AVAILABLE" "DOWNLOADED" "CANCELED" "ERROR" eSIM profile provision status. AVAILABLE: Ready for user to download. DOWNLOADED: User has downloaded the profile. CANCELED/ERROR: Profile is no longer available. |
| profileInstallStatus required | string Enum: "READY" "CONFIRMATION_FAILED" "DOWNLOADED" "INSTALLED" eSIM installation status on user device. READY: Not yet installed. DOWNLOADED: Profile downloaded to device. INSTALLED: Successfully installed and ready to use. |
| isServiceRestricted required | boolean Whether network access is currently blocked. True when emergency control (suspend) is active. Use emergency control API to release the restriction. |
| qrCode required | string QR code content for eSIM installation. Generate a QR code from this string and let the end user scan it with their device to install the eSIM profile. |
| smdpAddress required | string SM-DP+ server address for manual eSIM setup. Provide this to end users who cannot scan QR codes and need to enter details manually. |
| activationCode required | string Activation code for manual eSIM setup. Used together with smdpAddress when end users enter eSIM details manually instead of scanning QR code. |
| activationDeadline required | string or null Deadline for eSIM installation (ISO 8601 UTC). The end user must install the eSIM before this date. Null if no deadline is set. |
| downloadedAt required | string or null When the end user downloaded the eSIM profile to their device (ISO 8601 UTC). Null if not yet downloaded. This indicates the user has received the profile but may not have installed it yet. |
| activatedOn required | string or null <date> Date when the eSIM was first activated by connecting to the network (YYYY-MM-DD, Japan time). Null if never activated. This marks the start of the service period for time-limited plans. |
| terminatedOn required | string or null <date> Date when the eSIM service was terminated (YYYY-MM-DD, Japan time). This is the line termination date from the provider, not an expiration date. Null if not yet terminated. |
| expiresOn required | string or null <date> Plan expiration date in Japan Standard Time (YYYY-MM-DD). The service will be terminated at an unspecified time on the following day. Null if not yet activated. |
| initialInsertionDevice required | string or null IMEI of the device where eSIM was first installed (15-digit). Null if not yet installed. Useful for tracking which device the end user is using. |
| initialInsertionAt required | string or null When the eSIM was first installed on a device (ISO 8601 UTC). Null if not yet installed. |
| initialConnectionDevice required | string or null IMEI of the device that first connected to the network (15-digit). Null if never connected. May differ from initialInsertionDevice if user moved eSIM to another device. |
required | Array of objects (DataUsageDailyItemDto) Daily data usage breakdown. Each entry contains the date and kilobytes (KB) used on that day. Empty array if no usage data is available yet. |
| totalDataUsage required | integer Total cumulative data usage for this eSIM, in kilobytes (KB). |
| lastUpdatedAt required | string When this eSIM data was last synced from the carrier (ISO 8601 UTC). Data may be slightly delayed. For real-time status, call the eSIM status API again. |
{- "iccid": "8981100000000000001",
- "homeCountry": "JP",
- "roamingCountries": [
- "KR",
- "CN",
- "TW"
], - "contractStatus": "ACTIVE",
- "profileProvisionStatus": "AVAILABLE",
- "profileInstallStatus": "READY",
- "isServiceRestricted": false,
- "qrCode": "LPA:1$smdp.example.com$CODE123",
- "smdpAddress": "smdp.example.com",
- "activationCode": "CODE123",
- "activationDeadline": "2026-06-05T00:00:00.000Z",
- "downloadedAt": "2025-07-15T00:46:09.816Z",
- "activatedOn": "2025-12-01",
- "terminatedOn": "2025-12-31",
- "expiresOn": "2025-12-07",
- "initialInsertionDevice": "123456789012345",
- "initialInsertionAt": "2025-12-01T10:00:00.000Z",
- "initialConnectionDevice": "123456789012345",
- "dataUsageDailyList": [
- {
- "day": "2025-12-10",
- "usage": "102400"
}
], - "totalDataUsage": 307200,
- "lastUpdatedAt": "2026-01-22T10:30:00.000Z"
}Simulates returning the list of ICCIDs associated with the given transactionId. Use the transactionId returned from the Order eSIM API response. Intended for emergency reconciliation when the normal response could not be retrieved. Rate limit: 10 requests per minute.
| id required | string Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 Transaction ID returned from Order eSIM API (UUID format) |
| X-RateLimit-Limit | integer Example: "60" Maximum number of requests allowed per minute |
| X-RateLimit-Remaining | integer Example: "59" Number of requests remaining in the current time window |
| X-RateLimit-Reset | integer Example: "45" Seconds until the rate limit resets |
| transactionId required | string Transaction ID (UUID format) |
| iccids required | Array of strings List of allocated ICCIDs |
{- "transactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
- "iccids": [
- "8981100000000000001",
- "8981100000000000002"
]
}Simulates emergency suspension or release of an eSIM. Use 'suspend' to suspend the eSIM, or 'release' to lift the suspension. The contract status (cmconMdlsts) will be updated to '03' (Suspended) or '01' (Active) accordingly. Rate limit: 10 requests per minute.
| iccid required | string Example: 8900100000000000001 ICCID (19-digit numeric string: 18-digit base + 1-digit check digit, starts with 8900 for sandbox) |
| action required | string Enum: "suspend" "release" Action type: 'suspend' for emergency suspension, 'release' to lift the suspension |
{- "action": "suspend"
}{- "iccid": "8981100000000000001",
- "homeCountry": "JP",
- "roamingCountries": [
- "KR",
- "CN",
- "TW"
], - "contractStatus": "ACTIVE",
- "profileProvisionStatus": "AVAILABLE",
- "profileInstallStatus": "READY",
- "isServiceRestricted": false,
- "qrCode": "LPA:1$smdp.example.com$CODE123",
- "smdpAddress": "smdp.example.com",
- "activationCode": "CODE123",
- "activationDeadline": "2026-06-05T00:00:00.000Z",
- "downloadedAt": "2025-07-15T00:46:09.816Z",
- "activatedOn": "2025-12-01",
- "terminatedOn": "2025-12-31",
- "expiresOn": "2025-12-07",
- "initialInsertionDevice": "123456789012345",
- "initialInsertionAt": "2025-12-01T10:00:00.000Z",
- "initialConnectionDevice": "123456789012345",
- "dataUsageDailyList": [
- {
- "day": "2025-12-10",
- "usage": "102400"
}
], - "totalDataUsage": 307200,
- "lastUpdatedAt": "2026-01-22T10:30:00.000Z"
}Configures data usage for testing various usage scenarios. Only works with sandbox eSIMs. Rate limit: 60 requests per minute.
| iccid required | string Example: 8900123456789012345 ICCID (19 digits, starts with 8900 for sandbox) |
Daily data usage list
| day required | string Date (YYYY-MM-DD format) |
| usage required | string Usage amount in KB (string) |
| X-RateLimit-Limit | integer Example: "60" Maximum number of requests allowed per minute |
| X-RateLimit-Remaining | integer Example: "59" Number of requests remaining in the current time window |
| X-RateLimit-Reset | integer Example: "45" Seconds until the rate limit resets |
| message required | string Result message |
| iccid required | string ICCID |
required | Array of objects (DataUsageDailyItemDto) Configured data usage list |
100MB = 102400KB (100 * 1024)
[- {
- "day": "2025-12-10",
- "usage": "102400"
}, - {
- "day": "2025-12-11",
- "usage": "102400"
}, - {
- "day": "2025-12-12",
- "usage": "102400"
}
]{- "message": "Data usage updated successfully",
- "iccid": "8900000000000000001",
- "dataUsageDailyList": [
- {
- "day": "2025-12-10",
- "usage": "102400"
}
]
}