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 کنٹری پیجز پر جانے کے لیے اس گائیڈ میں منزل کے لنکس کا استعمال کریں، پلان کے اختیارات کا موازنہ کریں، اور روانگی سے پہلے چیک آؤٹ مکمل کریں۔