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 국가 페이지로 직접 이동하고, 요금제 옵션을 비교하고, 출발 전에 결제를 완료할 수 있습니다.