Partner Catalogue API
For listing partners and aggregators.
Getting started
Authentication
Every request carries an API key we issue to you:
Authorization: Bearer <your api key>
Requests without a valid key receive 401. Keys are per-partner and can be rotated on request.
The catalogue
GET /api/v1/partner/catalogue
page is optional (defaults to 1). pageSize is optional (defaults to 100, max 250). ref is your attribution code; when present it is baked into every buyUrl. If it is also your voucher code, the voucher is baked in too (see offerUsd).
curl -sS "https://vigxoesim.com/api/v1/partner/catalogue?page=1&pageSize=100&ref=YOURCODE" \ -H "Authorization: Bearer $VIGXO_API_KEY"
Example response
Note: The response values shown below are illustrative.
{
"plans": [
{
"id": "<plan_id>",
"name": "<plan_name>",
"destination": "<destination>",
"countryCodes": ["XX"],
"planType": "single",
"dataGb": 0,
"validityDays": 0,
"isDaily": false,
"topUpSupported": true,
"has5g": true,
"operators": ["<operator>"],
"coverages": [
{ "code": "XX", "networks": [{ "name": "<operator>" }] }
],
"retailUsd": 0.00,
"offerUsd": 0.00,
"offerCode": "YOURCODE",
"currency": "USD",
"buyUrl": "https://vigxoesim.com/checkout?plan=<plan_id>&ref=YOURCODE&coupon=YOURCODE"
}
],
"page": 1,
"pageSize": 100,
"total": 0,
"lastUpdated": "2026-01-01T00:00:00.000Z",
"refundPolicy": "Full refund before the eSIM is installed, within 30 days of purchase. Top-ups are non-refundable once applied."
}Fields worth knowing
- coverages lists the networks supported in each covered country.
operatorsis only present on single-country plans. Multi-country plans rely oncoveragesto detail networks per location. - retailUsd is computed by the same code path that charges the checkout, so the number you display and the number the shopper pays cannot disagree. Shoppers paying in another currency are charged the live conversion of the USD price.
- offerUsd appears only when your
refis also a live voucher. It is the exact total the shopper sees when they land onbuyUrl— the voucher is already applied there, they type nothing. DisplayofferUsdas the offer price andretailUsdas the struck-through list price; whenofferUsdis absent, showretailUsd. - isDaily: true marks a day-pass plan:
dataGbis the allowance per day forvalidityDaysdays, after which speed is reduced until the next day's reset. Please present these as daily plans, not as a fixed bundle. - topUpSupported: the eSIM can take more data later from the buyer's dashboard.
Sync guidance
- The feed is the availability signal: a plan present in the response is on sale. Plans that are retired leave the feed within about two days; any order we cannot fulfil is refunded in full.
lastUpdatedis the time of our last catalog sync. Prices can also change on our side between syncs, so do a full pull at least daily. Hourly polling is fine.- The catalogue is sorted stably (destination, data, validity, id), so pagination is safe across requests.
Attribution & commission
Your links carry ?ref=YOURCODE. On first click we set a 60-day, first-touch attribution cookie; every order placed inside that window is recorded against your code — including guest checkouts. Commission is computed from those order records and reported in a monthly statement with order-level detail; you invoice us against it.
Error codes
| HTTP | meaning |
|---|---|
| 401 | Missing, unknown, or revoked API key |