addedInput schema / properties / bucket
Added value: +{
+ "description": "Optional language-region bucket the customer shops in, e.g. \"en-gb\", \"de-de\". Wins over language; prices and links are quoted in it.",
+ "type": "string"
+}
changedInput schema / properties / currency / description
Previous value: -"Optional ISO 4217 override for quoted prices. Normally derived from language."New value: +"Optional ISO 4217 code. Every price in the result is quoted in it."
changedInput schema / properties / destination / description
Previous value: -"Country or region in ANY language, e.g. \"Thailand\", \"Japon\", \"Europa\". City names are mapped to their country by you first."New value: +"Country or region in any language, e.g. \"Thailand\", \"Japon\", \"Europa\", or a 2-letter ISO code. For a city, pass its country."
addedInput schema / properties / destinations
Added value: +{
+ "description": "Several countries for one trip; only plans covering ALL of them are returned. Overrides destination.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "type": "array"
+}
changedInput schema / properties / language / description
Previous value: -"ISO language of the conversation, e.g. en, de, ja, th. Localizes names/labels and sets the landing-page language and currency."New value: +"ISO language of the conversation, e.g. en, de, ja. Plan names and country names come back in it when available. Bare \"en\" is quoted in en-us / USD."
addedInput schema / properties / limit
Added value: +{
+ "description": "Plans to return. Default 10; all_plans_url lists everything.",
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+}
addedInput schema / properties / min_days
Added value: +{
+ "description": "Only plans valid for at least this many days.",
+ "minimum": 1,
+ "type": "integer"
+}
addedInput schema / properties / sort
Added value: +{
+ "description": "value = best price per GB delivered / cheapest All You Can Surf per day first (default); price = cheapest first; data = most data first.",
+ "enum": [
+ "value",
+ "price",
+ "data"
+ ],
+ "type": "string"
+}
changedInput schema / properties / type / description
Previous value: -"Plan type filter. daily_surf = fresh allowance each day; trip_surf = one pool for the trip; all_you_can_surf = unlimited-style. Default any."New value: +"Plan type. Default any."
changedInput schema / required
Previous value: -[
- "destination"
-]New value: +[]
removedOutput schema / properties / destination / description
Removed value: -"Resolved destination label (localized)."
addedOutput schema / properties / destinations
Added value: +{
+ "description": "How each requested destination was understood.",
+ "items": {
+ "additionalProperties": true,
+ "properties": {
+ "iso": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+}
changedOutput schema / properties / from_price / description
Previous value: -"Lowest full plan price in currency."New value: +"Lowest price in this result set, shop-formatted (per-day plans count with their day price)."
changedOutput schema / properties / from_price / type
Previous value: -"number"New value: +"string"
addedOutput schema / properties / iso
Added value: +{
+ "description": "Resolved ISO code or region slug of the (first) destination.",
+ "type": "string"
+}
addedOutput schema / properties / message / description
Added value: +"Present when nothing matched: says why and what to try."
addedOutput schema / properties / note
Added value: +{
+ "description": "Present when part of the request could not be honoured (e.g. more than 5 destinations).",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / description
Added value: +"One eSIM plan. Every field is present only when the catalogue holds a value for it; an absent field is unknown, never \"no\"."
addedOutput schema / properties / plans / items / properties / always_on_rate
Added value: +{
+ "description": "Reduced speed after the allowance, e.g. \"5 Mbps\" / \"128 kbps\" (for the rest of that day on per_day plans; for the rest of the trip on Trip Surf). All You Can Surf stays unlimited in volume at this speed.",
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / carrier / description
Previous value: -"Local network operator, when specified. NEVER invent one if empty."New value: +"Local network operator when specified (1.0.x name; also in networks). NEVER invent one when absent."
changedOutput schema / properties / plans / items / properties / coverage / description
Previous value: -"Human-readable coverage label (localized)."New value: +"Same as coverage_label (1.0.x name)."
addedOutput schema / properties / plans / items / properties / coverage_count
Added value: +{
+ "description": "Number of countries in coverage_countries.",
+ "type": "integer"
+}
changedOutput schema / properties / plans / items / properties / coverage_countries / description
Previous value: -"Localized country names covered (details tool only, multi-country plans)."New value: +"Every country the plan works in."
addedOutput schema / properties / plans / items / properties / coverage_countries / items / additionalProperties
Added value: +true
addedOutput schema / properties / plans / items / properties / coverage_countries / items / properties
Added value: +{
+ "iso": {
+ "description": "ISO 3166-1 alpha-2, lowercase.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Country name in the requested language.",
+ "type": "string"
+ }
+}
changedOutput schema / properties / plans / items / properties / coverage_countries / items / type
Previous value: -"string"New value: +"object"
addedOutput schema / properties / plans / items / properties / coverage_label
Added value: +{
+ "description": "Human-readable coverage label as the shop shows it (localized).",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / coverage_note
Added value: +{
+ "description": "Coverage caveat to present verbatim, e.g. traffic routed via Hong Kong.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / covers_via
Added value: +{
+ "description": "Present when the plan was returned for a country it covers as part of a multi-country plan: the plan's own region name.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / currency / description
Added value: +"ISO 4217 currency of every price in this object."
addedOutput schema / properties / plans / items / properties / daily_high_speed
Added value: +{
+ "description": "Daily Surf / All You Can Surf: daily allowance at full speed, e.g. \"2GB\".",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / daily_reset_time
Added value: +{
+ "description": "When the daily allowance refreshes (per_day plans only), e.g. \"00:00 (UTC+8)\" or \"every 24 h after activation\".",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / data
Added value: +{
+ "description": "Trip Surf: total data label, e.g. \"5GB\".",
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / data_gb / description
Previous value: -"High-speed data in GB. PER DAY when data_period is per_day (Daily Surf); TOTAL for the whole validity when data_period is total (Trip Surf). 0 = no fixed high-speed cap stated."New value: +"Data amount in GB. Meaning given by data_period."
changedOutput schema / properties / plans / items / properties / data_period / description
Previous value: -"per_day or total — how data_gb applies."New value: +"\"total\": data_gb is the whole plan (Trip Surf). \"per_day\": data_gb is the daily full-speed allowance (Daily Surf, All You Can Surf)."
addedOutput schema / properties / plans / items / properties / data_period / enum
Added value: +[
+ "total",
+ "per_day"
+]
changedOutput schema / properties / plans / items / properties / data_reset / description
Previous value: -"When the daily allowance refreshes (per_day plans only). Empty when unknown."New value: +"Same as daily_reset_time (1.0.x name)."
removedOutput schema / properties / plans / items / properties / description
Removed value: -{
- "type": "string"
-}
changedOutput schema / properties / plans / items / properties / expires_on / description
Previous value: -"Hard supplier end date (YYYY-MM-DD) after which the plan stops working and unused data is lost, whatever validity the customer picks. Say it plainly when present, and do not recommend a day count that cannot finish before it. Empty for the vast majority of plans."New value: +"Hard supplier end date (YYYY-MM-DD) after which the plan stops working and unused data is lost, whatever validity the customer picks. Say it plainly when present."
addedOutput schema / properties / plans / items / properties / fair_use
Added value: +{
+ "description": "All You Can Surf fair-use policy in plain words (daily full-speed allowance, then the still-unlimited reduced speed). Present it as returned.",
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / fup / description
Previous value: -"All You Can Surf fair-use policy in plain words (daily full-speed allowance and the still-unlimited reduced speed afterwards). Present it as returned — every AYCS grade has such an allowance; empty for non-AYCS plans."New value: +"Same as fair_use (1.0.x name)."
changedOutput schema / properties / plans / items / properties / grade / description
Previous value: -"All You Can Surf tier qualifier (empty for standard). Present only the returned value."New value: +"All You Can Surf tier (standard, premium, titanium). Present only the returned value; every grade has a daily full-speed allowance then a reduced speed."
addedOutput schema / properties / plans / items / properties / last_updated
Added value: +{
+ "description": "Date the plan was last updated in the catalogue (YYYY-MM-DD).",
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / name / description
Previous value: -"Plan name, localized to the requested language where a translation exists."New value: +"Short plan name: destination · data · validity · type."
changedOutput schema / properties / plans / items / properties / network / description
Previous value: -"Network generation, e.g. 5G/4G. NEVER invent one if empty."New value: +"Same as network_generation (1.0.x name)."
addedOutput schema / properties / plans / items / properties / network_generation
Added value: +{
+ "description": "Network generation, e.g. \"5G/4G\". Never an operator name.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / networks
Added value: +{
+ "description": "Operator name(s) for the plan, as the shop states them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
changedOutput schema / properties / plans / items / properties / notice / description
Previous value: -"Customer-facing caveat for this plan in plain words: a daily cut-off, a coverage exclusion, an activation or verification step. Present it as returned whenever it is non-empty — never omit or soften it. Empty when the plan has no caveat."New value: +"Same as plan_note (1.0.x name)."
addedOutput schema / properties / plans / items / properties / plan_note
Added value: +{
+ "description": "Customer-facing caveat for this plan in plain words: a daily cut-off, a coverage exclusion, an activation or verification step. Present it as returned whenever present.",
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / price / description
Previous value: -"FULL fixed price in currency; not per-day or per-GB."New value: +"FULL fixed price of the plan in currency; not per day, not per GB. The price shown is the price paid."
addedOutput schema / properties / plans / items / properties / price_basis
Added value: +{
+ "description": "Always \"total\" on e-eSIM.",
+ "enum": [
+ "total"
+ ],
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / price_is_final
Added value: +{
+ "description": "Always true: no tax or fee is added at checkout.",
+ "type": "boolean"
+}
addedOutput schema / properties / plans / items / properties / pricing_bucket
Added value: +{
+ "description": "language-region bucket the prices and links are quoted in, e.g. \"en-us\".",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / product_id / description
Added value: +"Product id. Use it for get_plan_details and start_checkout."
addedOutput schema / properties / plans / items / properties / rating / description
Added value: +"Average customer rating (1-5). Present only when reviews exist."
addedOutput schema / properties / plans / items / properties / review_count / description
Added value: +"Number of reviews. Present only when > 0."
addedOutput schema / properties / plans / items / properties / sku
Added value: +{
+ "description": "Catalogue SKU.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / summary
Added value: +{
+ "description": "Short description in the requested language, from the product page.",
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / throttle_kbps / description
Previous value: -"Speed in kbps after the high-speed allowance is used (for that day on per_day plans; for the rest of the trip on total plans). 0 = no throttle stated in this plan's specification."New value: +"The same reduced speed in kbps. 0 = no throttle stated for this plan."
addedOutput schema / properties / plans / items / properties / title
Added value: +{
+ "description": "Full product title in the requested language.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / topup
Added value: +{
+ "additionalProperties": true,
+ "description": "Top-up possibility for this plan.",
+ "properties": {
+ "how": {
+ "description": "How the customer tops up.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "Always \"none\" on e-eSIM: no top-ups or recharges exist; each plan is a self-contained eSIM.",
+ "enum": [
+ "data",
+ "days",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+}
changedOutput schema / properties / plans / items / properties / type / description
Previous value: -"Daily Surf, Trip Surf or All You Can Surf. Brand names — keep in English."New value: +"Plan type. Brand names — keep in English."
addedOutput schema / properties / plans / items / properties / type / enum
Added value: +[
+ "Daily Surf",
+ "Trip Surf",
+ "All You Can Surf"
+]
addedOutput schema / properties / plans / items / properties / url / description
Added value: +"Product page in pricing_bucket. Use verbatim."
addedOutput schema / properties / plans / items / properties / validity
Added value: +{
+ "description": "Validity label, e.g. \"30 days\".",
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / validity_clock / description
Previous value: -"What the days count means for THIS plan: either 24-hour periods from activation, or calendar days ending at a fixed clock (e.g. \"ends 23:59 (UTC+8)\"). State it whenever it is present — a calendar-day plan bought in the evening loses most of its first day. Empty when unknown."New value: +"What the days count means for THIS plan: 24-hour periods from activation, or calendar days ending at a fixed clock (e.g. \"ends 23:59 (UTC+8)\"). State it; a 1-day calendar plan activated in the evening lasts only hours."
addedOutput schema / properties / plans / items / properties / voice_sms
Added value: +{
+ "description": "Always \"none\": data only, no telephone number, no SMS.",
+ "type": "string"
+}
addedOutput schema / properties / pricing_bucket
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / returned
Added value: +{
+ "type": "integer"
+}
removedOutput schema / properties / slug
Removed value: -{
- "type": "string"
-}
addedOutput schema / properties / total_available
Added value: +{
+ "description": "Plans matched before limit; the rest are on all_plans_url.",
+ "type": "integer"
+}