Roamify eSIM API Breaking Changes

Donald Bogle
June 9, 2026 22:20
eSIM Guide
We're rolling out a set of API updates that bring new endpoints, expanded functionality, and a few changes you'll want to be aware of before updating your integration.
⚠️ Breaking Changes — Get eSIM Packages #
Endpoint: GET /api/esim/packages
https://roamify.apidog.io/get-esim-packages-12947634e0
1. Response is now paginated #
This endpoint now returns paginated results instead of all packages in a single response. If your integration fetches packages without pagination parameters, you may only be receiving the first page of results.
Action required: Update your integration to handle paginated responses using the page and pageSize query parameters.
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | string | 1 | Page number to retrieve. |
| pageSize | string | 50 | Number of results per page. |
To retrieve all packages, iterate through pages until the response returns fewer results than your pageSize.
2. country and countryCode now have distinct meanings #
Previously these fields may have been used interchangeably. They now serve different purposes and both must use values sourced from the GET /api/esim/countries endpoint — arbitrary strings are no longer accepted.
| Parameter | Accepted value | Source |
|---|---|---|
| country | Full country name | name field from the Country API |
| countryCode | ISO country code | code field from the Country API |
Action required: If you are currently passing free-text country strings, update your integration to first call GET /api/esim/countries and use the name or code values from the response.
New Endpoints #
GET /api/esim/countries #
https://roamify.apidog.io/get-esim-supported-country-12947635e0
Returns a list of all countries supported by Roamify eSIM. Use the name and code values from this response as filter inputs when querying GET /api/esim/packages.
optional filter parameter available with geography
POST /api/esim/sms #
https://roamify.apidog.io/send-sms-37579804e0
Send an SMS message directly to an eSIM.
| Name | Type | Required | Description |
|---|---|---|---|
| iccid | string | required | The ICCID of the eSIM to send the SMS to. |
| message | string | required | The message content to send. |
Updated Endpoints #
POST /api/esim/apply — startDate now supported #
A new optional startDate field has been added to the Generate eSIM Profile endpoint. For a small subset of packages (~30 out of 28,000+), this field is required.
You can identify these packages by checking if requirements.travelDate is true in the package object. If required and not provided, the profile generation request will fail.
| Name | Type | Required | Description |
|---|---|---|---|
| startDate | string | conditional | Travel start date in ISO 8601 format. Required if requirements.travelDate is true. |
Timeout reminder
Full API Reference #
Full documentation is available at docs.getroamify.com.
If you have any questions or need help updating your integration, reach out to our partner support team.
แผนปลายทาง eSIM ที่เกี่ยวข้อง
คำถามที่พบบ่อย
- ฉันจะเรียนรู้อะไรบ้างใน Roamify eSIM API Breaking Changes
- คุณจะได้เรียนรู้วิธีการเปิดใช้งาน eSIM วิธีเปรียบเทียบแผนข้อมูล และขั้นตอนการตั้งค่าที่สำคัญที่สุดก่อนและระหว่างการเดินทางของคุณ
- ฉันจะเลือกแผน eSIM ที่เหมาะสมสำหรับ ญี่ปุ่น ได้อย่างไร
- จับคู่แผนของคุณกับระยะเวลาการเดินทาง การใช้อินเทอร์เน็ตรายวันที่คาดหวัง ความต้องการฮอตสปอต และคุณภาพเครือข่ายในจุดหมายปลายทางของคุณ การเข้าพักระยะสั้นมักต้องการข้อมูลน้อยลง ในขณะที่การทำงานระยะไกลและการโทรวิดีโอต้องการมากขึ้น
- ฉันจะซื้อแผน eSIM สำหรับการเดินทางสำหรับ ญี่ปุ่น และ ไทย ได้ที่ไหน
- ใช้ลิงก์ปลายทางในคู่มือนี้เพื่อไปที่หน้า Roamify ประเทศโดยตรง เปรียบเทียบตัวเลือกแผน และชำระเงินให้เสร็จสิ้นก่อนออกเดินทาง