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.
Shirye-shiryen manufa na eSIM masu alaƙa
Tambayoyin da ake yawan yi
- Me zan koya a Roamify eSIM API Breaking Changes?
- Za ku koyi yadda kunna eSIM ke aiki, yadda ake kwatanta tsare-tsaren bayanai, da waɗanne matakan saitin ne suka fi muhimmanci kafin da lokacin tafiyarku.
- Ta yaya zan zabi tsarin eSIM daidai don Japan?
- Daidaita shirin ku don tafiya tsayin daka, ana tsammanin amfani da bayanan yau da kullun, buƙatun hotspot, da ingancin hanyar sadarwa a wurin da kuke. Gajeren zama yawanci yana buƙatar ƙarancin bayanai, yayin da aikin nesa da kiran bidiyo ke buƙatar ƙari.
- A ina zan iya siyan tsare-tsaren eSIM na balaguro na Japan da Tailand?
- Yi amfani da hanyoyin haɗin kai a cikin wannan jagorar don zuwa kai tsaye zuwa shafukan ƙasar Roamify, kwatanta zaɓuɓɓukan shirin, da kammala rajistan shiga kafin tashi.