Skip to main content
Glama

Server Details

CitedTravel gives AI agents and developers travel facts they can cite. It covers plug types and voltage, currency, emergency numbers, driving side, public holidays (3 years) and tipping norms for 195 countries, plus a visa/entry pilot for GB, US and JP passport holders.

Every value comes with its sources (publisher, URL, license, verbatim quote), a last-verified date and a 0-1 confidence score with reasons. Data comes only from sources that allow commercial reuse, such as Wikidata, Unicode CLDR, UK FCDO, the US State Department and Japan MOFA. Entry answers quote official government pages and are decision support, never a go/no-go verdict.

Remote MCP server (Streamable HTTP, 9 read-only tools) and REST API (OpenAPI 3.1). Answers in English, Japanese, Simplified and Traditional Chinese.

Free: static facts need no key; a free key adds 1,000 calls/month. Paid: Builder $19/month, Pro $99/month, or x402 pay-per-call in USDC on Base.

Ownership verified
Status
Healthy
Uptime
100.0% over 25 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.6/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have distinct scopes, and descriptions explicitly guide when to use specific tools versus aggregators like get_country_facts and get_trip_brief. However, get_country_facts overlaps with the individual emergency, holiday, tipping, and power tools, so an agent could still hesitate between overview and single-topic calls.

Naming Consistency5/5

All tool names use consistent snake_case with predictable verb_noun patterns (check_, get_, list_, resolve_). The distinction between check_ for computed verdicts and get_ for factual data is coherent and easy to follow.

Tool Count5/5

Nine tools is a well-scoped set for a travel-facts server: five core data tools, two aggregate/verdict tools, one change feed, and one country resolver. Each tool appears to earn its place without obvious redundancy.

Completeness4/5

The surface covers core cited travel facts well: entry, power, emergencies, holidays, tipping, country facts, trip briefs, and change tracking. Minor gaps remain around broader travel needs such as health/vaccination requirements, safety advisories, currency conversion, and transit visas, though some limitations are explicitly acknowledged.

Available Tools

9 tools
check_entry_requirementsEntry requirements (pilot)A
Read-onlyIdempotent
Inspect

Visa/entry information for a short tourist stay, for a pilot set of passports, from official government sources, with verbatim quotes, official links and a mandatory advisory. Decision support only: never a go/no-go verdict. Returns status (visa_free, visa_free_with_requirements, visa_on_arrival, eta_required, evisa_required, visa_required, unclear), max_stay_days, additional_requirements[], quotes[] (authoritative), official_links, advisory, sources[], confidence, last_verified. One passport, one destination; for a full trip use get_trip_brief, which embeds this per destination. Coverage: pilot passports (the error for others lists them), tourism only. Based on the passport country's official travel advice; the destination's own rules are covered only as far as the official pages quoted in quotes[]. Transit, other visa types and special cases are not covered: point users to official_links, and always show the advisory. Parameters: passport is the nationality of the passport used (dual nationals: one call each); destination is the country entered, not transit stops. Example: {"passport":"GB","destination":"JP"}. Read-only; free API key or x402 per call (https://citedtravel.com/pricing/); errors RFC 9457.

NameRequiredDescriptionDefault
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
purposeNoTrip purpose. Only short tourist stays are covered ("tourism"; "tourism_short_stay" is an accepted alias); anything else returns an error.tourism
passportYesPassport (nationality) country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.
destinationYesDestination country; must differ from passport as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds real context: pilot coverage with an error listing supported passports, RFC 9457 errors, a mandatory advisory that must always be shown, decision-support-only framing, and free API key or x402 per call. It stops short of describing rate limits or latency, but the disclosure is well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then scope, then parameters, then operational notes — a sensible order with no filler sentences. It is on the long side, and enumerating the return fields (status, max_stay_days, quotes[], advisory, confidence, last_verified) duplicates the existing output schema, which is the one place a sentence could be cut.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-required-param lookup with a pilot-coverage limitation, the description covers what an agent needs before calling: coverage boundaries, error behavior, cost/auth model, and the obligation to surface the advisory. Return values are documented by the output schema, so repeating them is redundant rather than necessary, and nothing decision-relevant is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description earns more by clarifying semantics the schema does not: passport means the nationality of the passport actually used (dual nationals need one call each) and destination is the country entered, not transit stops, plus a concrete {"passport":"GB","destination":"JP"} example. The lang and purpose parameters are left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (visa/entry requirements for a short tourist stay) and immediately bounds the scope to a pilot passport set from official government sources. It also names the sibling it is not (get_trip_brief) and the resolver it depends on (resolve_country), so an agent can place it precisely among the eight siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: one passport/one destination here, 'for a full trip use get_trip_brief, which embeds this per destination.' It also states when-not: transit, other visa types and special cases are out of scope, and coverage is tourism only. Nothing about selection is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_power_compatibilityPower compatibilityA
Read-onlyIdempotent
Inspect

Does a traveller need a plug adapter or voltage converter? verdict {adapter: not_needed | needed | depends_on_plug, converter: not_needed | usually_not_needed | needed_for_single_voltage_devices | unknown, plug_fit[], frequency_note, guidance}, computed from cited plug, voltage and frequency facts (inputs[], with sources and confidence; top-level confidence is their lowest). Plug fit is conservative. For raw power facts use get_country_facts; for a whole trip get_trip_brief (includes this verdict per destination). Parameters: home_country is where the devices were bought (their plugs and rating), not nationality; destination is where they will be plugged in. Example: {"home_country":"GB","destination":"US"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

NameRequiredDescriptionDefault
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
destinationYesDestination country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.
home_countryYesCountry where the traveller's devices come from as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, but the description adds real behavioral context beyond them: keyless access with an x402 upgrade path and a pricing URL, RFC 9457 error format, the rule that top-level confidence is the minimum across inputs, and that plug-fit answers are deliberately conservative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core question and the verdict shape, then routing, then parameter disambiguation, then operational notes. Every element earns its place, though the dense parenthetical syntax (inputs[], confidence, pricing link) makes it slightly harder to scan than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the decision question, the alternative tools, the input semantics, the confidence model, auth/limits and error format, and an output schema exists so return values need not be explained. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds genuine interpretation the schema lacks: home_country means where the devices were bought (their plugs and rating), not nationality, and destination is where they will be plugged in, plus a literal example call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a concrete user question ('Does a traveller need a plug adapter or voltage converter?') and then names the exact output shape (verdict with adapter/converter enumerations). It also distinguishes itself from siblings by naming get_country_facts for raw facts and get_trip_brief for whole-trip needs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: 'For raw power facts use get_country_facts; for a whole trip get_trip_brief (includes this verdict per destination).' That is a when-to-use-this vs. when-to-use-alternatives statement with no inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_country_factsCountry factsA
Read-onlyIdempotent
Inspect

Several cited facts for one country in one call: power, currency, emergency numbers, driving side, this year's public holidays, tipping (data..; a category without data is {}). Use it for a country overview. For one topic use get_emergency_numbers, get_tipping_norms, get_public_holidays (any dates) or check_power_compatibility (adapter verdict); for a whole trip get_trip_brief; for visas check_entry_requirements. Each fact is cited: sources[] (url, license), last_verified, confidence. Parameters: alpha-2 country codes work best (alpha-3 too; names via resolve_country). Request only the categories you need to keep the answer small. Examples: {"country":"JP"}, {"country":"FRA","categories":["power","currency"]}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

NameRequiredDescriptionDefault
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
countryYesCountry as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.
categoriesNoCategories to return; omit for all six.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the readOnly/idempotent annotations: discloses the keyless access model with an x402 upsell link, the RFC 9457 error convention, and the empty-category shape ({}). It also explains the citation payload (sources[] with url/license, last_verified, confidence), which is behavioral context an agent needs to interpret results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core capability and its data shape before the sibling routing. Dense and information-rich, though the single-paragraph layout mixes purpose, routing, output shape, auth and error conventions without visual separation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-param read tool with full schema coverage, an output schema, and complete annotations, the description fills every remaining gap: routing, auth/limits, error format, and citation semantics. Nothing needed to invoke or interpret it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description adds practical guidance beyond it — alpha-2 codes work best, names must go through resolve_country, and only needed categories should be requested 'to keep the answer small' — plus two concrete call examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('cited facts for one country') and enumerates the exact categories returned (power, currency, emergency, driving, holidays, tipping). It also names the sibling tools it is not, so an agent can distinguish it without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the use case ('country overview') and routes every adjacent case: single topic to get_emergency_numbers/get_tipping_norms/get_public_holidays/check_power_compatibility, whole trip to get_trip_brief, visas to check_entry_requirements. When-to-use and when-not-to-use are both covered with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_emergency_numbersEmergency numbersA
Read-onlyIdempotent
Inspect

Emergency numbers for one country: data.numbers.value {police, ambulance, fire, general, all_numbers}. A role without its own number is null: then use general, else all_numbers (in 58 countries only all_numbers is filled). Use it when only these numbers are needed; get_country_facts for several facts, get_trip_brief for a whole trip. No data for the country is a not-found error. Each fact is cited: sources[] (url, license), last_verified, confidence. Parameters: country is where the call will be made (the traveller's location, not home); alpha-2 works best. Example: {"country":"JP"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

NameRequiredDescriptionDefault
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
countryYesCountry as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint, idempotentHint, destructiveHint:false, openWorldHint:false), and the description partly repeats 'Read-only'. However it adds genuinely new behavioral context: not-found error on missing data, RFC 9457 error format, and keyless/free-key/x402 rate-limit behavior with a pricing link. Strong, with only minor redundancy against the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, response shape, then usage/fallback/error/auth, so an agent reading top-down gets the essentials first. It is dense and clause-heavy in places (citation fields, error format, pricing all packed into a single block), costing some scannability, but almost every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists so return values needn't be spelled out, yet the description still flags citation metadata (sources[], last_verified, confidence) and the null-role fallback. Combined with annotations covering safety and explicit error/auth behavior, an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema does not: country is 'where the call will be made (the traveller's location, not home); alpha-2 works best' and an inline example. That semantic clarification (call location vs. home country) is real added value; lang is left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (emergency numbers for one country) and even names the response shape (data.numbers.value with the five role keys). It explicitly distinguishes itself from siblings: 'Use it when only these numbers are needed; get_country_facts for several facts, get_trip_brief for a whole trip.' An agent can route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('when only these numbers are needed') plus named alternatives with their selecting conditions (get_country_facts, get_trip_brief). It also handles the fallback branch ('A role without its own number is null: then use general, else all_numbers'), leaving little to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_public_holidaysPublic holidaysA
Read-onlyIdempotent
Inspect

National public holidays between two dates: data.holidays[] {date, name} by date, plus one citation per year in data.facts[]. Use it to check travel dates for closures and crowds; get_country_facts has this year's list with other facts, get_trip_brief covers a whole trip. Data spans the current year and the next two (outside: empty list plus coverage_note); no regional holidays. Each fact is cited: sources[] (url, license), last_verified, confidence. Parameters: from and to are inclusive: pass the travel dates, or YYYY-01-01 to YYYY-12-31 for a year. Over two years, or to before from, is an error. Example: {"country":"JP","from":"2026-12-28","to":"2027-01-05"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

NameRequiredDescriptionDefault
toYesLast day of the range (inclusive), on or after from and at most two years later. Calendar date, YYYY-MM-DD.
fromYesFirst day of the range (inclusive). Calendar date, YYYY-MM-DD.
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
countryYesCountry as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: coverage window (current year + next two), out-of-range behavior, absence of regional holidays, explicit error conditions (span over two years, to before from), citation provenance fields (sources[], last_verified, confidence), keyless access with x402 limit lifts, and RFC 9457 error format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool returns and why to use it, then packs constraints, coverage limits, and access notes into dense but well-ordered sentences. Slightly crowded, but essentially every clause carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still outlines the response shape (data.holidays[], data.facts[] citations) and covers coverage boundaries, error cases, and auth/limits. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already documents each param, but the description adds operational meaning: inclusiveness of from/to, the practical strategy of passing travel dates or a full YYYY-01-01–YYYY-12-31 year, and a concrete worked example. More than baseline, though the schema carries most weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('National public holidays between two dates') and immediately names the sibling tools it overlaps with (get_country_facts, get_trip_brief), so an agent can distinguish it without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use this to check travel dates for closures/crowds, get_country_facts for this year's list plus other facts, get_trip_brief for a whole trip. It also states when-not conditions (outside coverage returns an empty list plus coverage_note; no regional holidays).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tipping_normsTipping normsA
Read-onlyIdempotent
Inspect

Tipping customs for one country: data.norms.value {overall_context, situations {: {expectation, guidance_type, percent_min, percent_max}}}; percentages only where a source states them. Use it for "should I tip, and how much?"; get_country_facts for several facts, get_trip_brief for a whole trip. Custom, not law: confidence reflects that. Each fact is cited: sources[] (url, license), last_verified, confidence. Parameters: omit situation for all; one situation returns only that (no data gives empty situations, not an error). Examples: {"country":"US"}, {"country":"JP","situation":"taxi"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

NameRequiredDescriptionDefault
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
countryYesCountry as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.
situationNoReturn only this situation. A situation with no data gives an empty situations object (not an error). Omit for all situations.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent safety, and the description adds real operational context beyond them: percentages appear only where a source states them, results carry sources[] with license, last_verified and confidence, custom-not-law framing, keyless access with a pricing URL for higher limits, and RFC 9457 errors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the response shape, then usage, then parameter and operational notes; every sentence carries information. It is dense to the point of being telegraphic, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters, an enum-restricted situation, and a full output schema, the description supplies everything an agent needs: scope, alternatives, edge-case behavior for missing data, citation/confidence semantics, and error/auth framing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents country, lang and situation in detail; the description's restatement that omitting situation returns all is partly redundant. It still adds value with concrete invocations ({"country":"US"}, {"country":"JP","situation":"taxi"}) and the explicit "empty situations, not an error" guarantee.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — tipping customs for one country — and even sketches the payload shape (data.norms.value, situations, expectation, percent_min/max). It distinguishes itself from get_country_facts and get_trip_brief by naming both and their respective scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case ("should I tip, and how much?") plus explicit sibling routing: get_country_facts for several facts, get_trip_brief for a whole trip. It also spells out the situation parameter's behavior (omit for all, one returns only that), leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trip_briefTrip briefA
Read-onlyIdempotent
Inspect

Whole-trip brief for 1-5 destinations: per destination, in order, entry (as check_entry_requirements, if passport given), power verdict from home_country, currency, emergency numbers, driving side, tipping and holidays between from and to. Use it to summarise a trip; for one fact use check_entry_requirements, check_power_compatibility, get_emergency_numbers, get_tipping_norms or get_public_holidays, and get_country_facts for one country without dates. No passport: entry null, no advisory. If one destination's entry can't be answered (outside pilot, no data, same country) it is {unavailable: reason} and the rest still returns. power is null at home or without plug data; a category without data is {}. An unknown home or destination code, over 5 destinations or a bad date range fails the call. Each fact is cited: sources[] (url, license), last_verified, confidence. Show the advisory. Parameters: passport = nationality (optional); home_country = where traveller and devices come from; destinations in travel order, home only if it is a stop; from/to = whole trip, inclusive. Example: {"passport":"US","home_country":"US","destinations":["JP","KR"],"from":"2026-12-28","to":"2027-01-05"}. Read-only; free API key or x402, charged per call, not per destination (https://citedtravel.com/pricing/); errors RFC 9457.

NameRequiredDescriptionDefault
toYesTrip end (inclusive), on or after from and at most two years later. Calendar date, YYYY-MM-DD.
fromYesTrip start (inclusive). Calendar date, YYYY-MM-DD.
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
passportNoPassport (nationality) country as an ISO 3166-1 alpha-2 or alpha-3 code. Optional: omit to skip entry requirements.
destinationsYesDestination countries, in travel order.
home_countryYesCountry the traveller starts from; used for the adapter/converter verdict as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only/idempotent/non-destructive, but the description adds substantial context beyond them: null entry without passport, per-destination failure isolation via {unavailable: reason}, null power at home, {} for missing categories, the exact failure conditions (unknown code, >5 destinations, bad date range), citation metadata (sources[], last_verified, confidence), auth (API key or x402), per-call pricing, and RFC 9457 errors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the tool's scope, then alternatives, then edge cases, then parameter semantics and operational meta. It is dense and largely earns its length, but a few clauses restate schema content (the destinations ordering note, the worked example) and the parenthetical nesting makes it a single run-on block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the description covers the response shape at a high level (citations, confidence), all null/partial-result cases, error conditions, auth and billing. For a 6-parameter aggregate tool with per-destination degradation, this is complete enough to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description still adds meaning beyond the schema: passport is framed as nationality rather than a generic country code, home_country is where traveller and devices come from, destinations must be in travel order with home included only if it is a stop, and from/to are inclusive over the whole trip.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (whole-trip brief for 1-5 destinations) and enumerates exactly what it returns: entry, power verdict, currency, emergency numbers, driving side, tipping, holidays. It explicitly contrasts itself with siblings (check_entry_requirements, check_power_compatibility, get_emergency_numbers, get_tipping_norms, get_public_holidays, get_country_facts), so an agent can route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use rule ('Use it to summarise a trip') and a when-not-to-use rule with named alternatives for each single-fact case, plus a scoping distinction for get_country_facts ('one country without dates'). Nothing about tool selection is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recent_changesRecent changesA
Read-onlyIdempotent
Inspect

Dataset change feed, newest first: data[] {changed_on, fact_id, country, category, change: added | updated | removed, old_value, new_value, source_url}. Use it to refresh caches or alert users when a fact changes, then fetch the current cited value (sources, license, confidence) with the matching tool, e.g. get_country_facts or check_entry_requirements. Entry rows: country is the destination, fact_id is entry:->. Parameters: set since to the last changed_on you processed (inclusive: that day repeats). Filter by category and/or country; exactly limit rows means older ones were cut, so raise limit or narrow. Examples: {"since":"2026-10-01"}, {"since":"2026-10-01","category":"entry","country":"JP"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

NameRequiredDescriptionDefault
limitNoMaximum rows, newest first. Default 100; values are clamped to 1-500 (numeric strings are accepted).
sinceYesReturn changes on or after this date. Calendar date, YYYY-MM-DD.
countryNoOnly changes for this country (for entry facts, the destination) as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.
categoryNoOnly changes in this category (entry = visa/entry pilot). Omit for all.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered; the description adds context those fields cannot carry: keyless access, quota lifting via a free key or x402, and RFC 9457 error responses. It also explains truncation behavior ('exactly limit rows means older ones were cut') rather than leaving it to the schema's clamp note.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the feed's identity and payload shape, then folds parameters, examples and access notes into compact prose with no filler sentences. The inline `data[]` field list slightly overlaps the output schema, keeping it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, annotations covering safety, and full parameter coverage, the description only needed to add workflow, resume semantics and access/error behavior — all of which it does. Nothing an agent needs to call this correctly is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description goes past it: the inclusive boundary semantics of `since` ('that day repeats') and the truncation diagnostic for `limit` are operational meaning the schema's terse wording does not convey. It also clarifies that entry rows key country to the destination.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource with ordering and scope: 'Dataset change feed, newest first', and enumerates the row shape an agent will receive. It also names the follow-up siblings (get_country_facts, check_entry_requirements), so the agent can distinguish a change-delta tool from a current-value tool without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit two-step workflow: use this to refresh caches or alert users on change, then fetch the current cited value with the matching tool, naming concrete alternatives. The `since` resume protocol ('set since to the last changed_on you processed') plus the 'raise limit or narrow' instruction supply the when-to-use conditions the tool needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_countryResolve countryA
Read-onlyIdempotent
Inspect

Turns a country name, alias or code (English, Japanese, Chinese) into ISO codes: matches[] {iso2, iso3, name, score}, best first, max 5, empty if none. Call it first when you only have a name: get_country_facts, check_entry_requirements, get_trip_brief and the other tools take ISO codes. Exact, prefix (3+ chars) or substring (4+) match, ignoring case and punctuation; no spelling correction. Names only (CLDR): no sources or confidence. Parameters: pass query as the user wrote it; if nothing matches, retry with the official or local name. lang only localizes the returned names. Examples: {"query":"日本"}, {"query":"South Korea","lang":"ja"}. Read-only; free and keyless, no quota.

NameRequiredDescriptionDefault
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
queryYesCountry name, alias or code, in English, Japanese or Chinese. Case-, space- and punctuation-insensitive (a leading "the" is ignored); matches exactly, by prefix (3+ characters) or by substring (4+ characters); not a spelling corrector.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint, but the description adds real behavioral context: free/keyless/no quota, no spelling correction, matching semantics, max 5 results and empty on no match. This goes well beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: purpose first, then result shape, then routing guidance, then parameter notes and examples. Every clause carries information, though the sentences are quite packed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description needn't explain returns, yet it summarizes them anyway; it covers matching behavior, limits, failure mode, parameter usage and cost. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description still adds value beyond the schema with the operational advice to pass the query as written and retry with the official/local name, and it clarifies that lang localizes only names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource ('turns a country name, alias or code into ISO codes') and names the output shape. It also explicitly distinguishes itself from siblings by noting that get_country_facts, check_entry_requirements and get_trip_brief take ISO codes instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use rule ('Call it first when you only have a name') and names the alternative tools that require ISO codes. Also supplies retry guidance when the first query misses.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • Changedcheck_power_compatibility2 fields changed
      • changedInput schema / properties / destination / description
        Previous value: -"Country where the devices will be plugged in as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Destination country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • changedInput schema / properties / home_country / description
        Previous value: -"Country where the traveller's devices were bought (sets their plug type and voltage rating) as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country where the traveller's devices come from as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedget_country_facts2 fields changed
      • changedInput schema / properties / categories / description
        Previous value: -"Categories to return; omit or pass [] for all six. holidays here means the current calendar year (use get_public_holidays for other dates)."New value: +"Categories to return; omit for all six."
      • changedInput schema / properties / country / description
        Previous value: -"Country to describe as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedget_emergency_numbers1 field changed
      • changedInput schema / properties / country / description
        Previous value: -"Country where the emergency call will be made (the traveller's current location) as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedget_public_holidays1 field changed
      • changedInput schema / properties / country / description
        Previous value: -"Country whose national public holidays to list as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedget_tipping_norms1 field changed
      • changedInput schema / properties / country / description
        Previous value: -"Country where the tip would be given as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedlist_recent_changes3 fields changed
      • changedInput schema / properties / category / description
        Previous value: -"Only changes in this category (entry = visa/entry pilot). Omit for all categories."New value: +"Only changes in this category (entry = visa/entry pilot). Omit for all."
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum rows, newest first. Default 100; values are clamped to 1-500, and 0, an empty or a non-numeric value means 100. Numeric strings such as \"50\" are accepted."New value: +"Maximum rows, newest first. Default 100; values are clamped to 1-500 (numeric strings are accepted)."
      • changedInput schema / properties / since / description
        Previous value: -"Return changes recorded on or after this date (inclusive). Use the last changed_on you processed. Calendar date, YYYY-MM-DD."New value: +"Return changes on or after this date. Calendar date, YYYY-MM-DD."
  2. 7 tool updates
    • Changedcheck_entry_requirements1 field changed
      • addedInput schema / properties / purpose / examples
        Added value: +[
        +  "tourism"
        +]
    • Changedcheck_power_compatibility2 fields changed
      • changedInput schema / properties / destination / description
        Previous value: -"Destination country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country where the devices will be plugged in as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • changedInput schema / properties / home_country / description
        Previous value: -"Country where the traveller's devices come from as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country where the traveller's devices were bought (sets their plug type and voltage rating) as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedget_country_facts2 fields changed
      • changedInput schema / properties / categories / description
        Previous value: -"Categories to return; omit for all six."New value: +"Categories to return; omit or pass [] for all six. holidays here means the current calendar year (use get_public_holidays for other dates)."
      • changedInput schema / properties / country / description
        Previous value: -"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country to describe as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedget_emergency_numbers1 field changed
      • changedInput schema / properties / country / description
        Previous value: -"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country where the emergency call will be made (the traveller's current location) as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedget_public_holidays1 field changed
      • changedInput schema / properties / country / description
        Previous value: -"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country whose national public holidays to list as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • Changedget_tipping_norms2 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country where the tip would be given as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / situation / examples
        Added value: +[
        +  "taxi"
        +]
    • Changedlist_recent_changes4 fields changed
      • changedInput schema / properties / category / description
        Previous value: -"Only changes in this category (entry = visa/entry pilot). Omit for all."New value: +"Only changes in this category (entry = visa/entry pilot). Omit for all categories."
      • addedInput schema / properties / category / examples
        Added value: +[
        +  "entry"
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum rows, newest first. Default 100; values are clamped to 1-500 (numeric strings are accepted)."New value: +"Maximum rows, newest first. Default 100; values are clamped to 1-500, and 0, an empty or a non-numeric value means 100. Numeric strings such as \"50\" are accepted."
      • changedInput schema / properties / since / description
        Previous value: -"Return changes on or after this date. Calendar date, YYYY-MM-DD."New value: +"Return changes recorded on or after this date (inclusive). Use the last changed_on you processed. Calendar date, YYYY-MM-DD."
  3. 9 tool updates
    • Changedcheck_entry_requirements13 fields changed
      • changedInput schema / properties / destination / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Destination country; must differ from passport as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / destination / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / destination / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • addedInput schema / properties / lang / default
        Added value: +"en"
      • changedInput schema / properties / lang / description
        Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
      • addedInput schema / properties / lang / examples
        Added value: +[
        +  "en",
        +  "ja",
        +  "zh-Hans",
        +  "zh-Hant"
        +]
      • changedInput schema / properties / passport / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Passport (nationality) country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / passport / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / passport / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • addedInput schema / properties / purpose / default
        Added value: +"tourism"
      • addedInput schema / properties / purpose / description
        Added value: +"Trip purpose. Only short tourist stays are covered (\"tourism\"; \"tourism_short_stay\" is an accepted alias); anything else returns an error."
      • changedInput schema / properties / purpose / enum
        Previous value: -[
        -  "tourism"
        -]New value: +[
        +  "tourism",
        +  "tourism_short_stay"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "additional_requirements": {
        +          "description": "Other formalities (travel authorisation, pre-arrival registration, arrival or tourist card), each with the verbatim official sentence and certainty \"required\" or \"check_official\".",
        +          "type": "array"
        +        },
        +        "advisory": {
        +          "description": "Mandatory advisory: show it to the user.",
        +          "type": "string"
        +        },
        +        "attribution": {
        +          "description": "Attribution strings required by the source licenses.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "confidence": {
        +          "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +          "properties": {
        +            "level": {
        +              "examples": [
        +                "high",
        +                "medium",
        +                "low"
        +              ],
        +              "type": "string"
        +            },
        +            "reasons": {
        +              "description": "Why the score is what it is.",
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            },
        +            "score": {
        +              "maximum": 1,
        +              "minimum": 0,
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "score",
        +            "level"
        +          ],
        +          "type": "object"
        +        },
        +        "coverage_note": {
        +          "type": "string"
        +        },
        +        "cross_checks": {
        +          "description": "Independent datasets the value was checked against, with the result.",
        +          "type": "array"
        +        },
        +        "decision_support_only": {
        +          "const": true
        +        },
        +        "destination": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "fact_id": {
        +          "type": "string"
        +        },
        +        "last_verified": {
        +          "description": "Date the value was last verified (YYYY-MM-DD).",
        +          "type": "string"
        +        },
        +        "max_stay_days": {
        +          "type": [
        +            "integer",
        +            "null"
        +          ]
        +        },
        +        "next_review_due": {
        +          "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +          "type": "string"
        +        },
        +        "not_a_verdict": {
        +          "type": "string"
        +        },
        +        "notes": {
        +          "type": "array"
        +        },
        +        "official_links": {
        +          "description": "Official government pages to show to the user.",
        +          "type": "array"
        +        },
        +        "passport": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "passport_validity_statement": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "prior_application_needed": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "purpose": {
        +          "type": "string"
        +        },
        +        "quotes": {
        +          "description": "Verbatim official text, in its original language. Authoritative.",
        +          "items": {
        +            "properties": {
        +              "authoritative": {
        +                "type": "boolean"
        +              },
        +              "language": {
        +                "type": "string"
        +              },
        +              "publisher": {
        +                "type": "string"
        +              },
        +              "text": {
        +                "type": "string"
        +              },
        +              "url": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "text",
        +              "url"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "related": {
        +          "type": "array"
        +        },
        +        "sources": {
        +          "description": "Cited sources for this fact.",
        +          "items": {
        +            "description": "One cited source.",
        +            "properties": {
        +              "license": {
        +                "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                "type": "string"
        +              },
        +              "publisher": {
        +                "type": "string"
        +              },
        +              "quote": {
        +                "description": "Verbatim text from the source, when quoted.",
        +                "type": "string"
        +              },
        +              "retrieved_at": {
        +                "description": "When the source was fetched (ISO 8601).",
        +                "type": "string"
        +              },
        +              "source_id": {
        +                "type": "string"
        +              },
        +              "source_value": {
        +                "description": "The raw value as given by the source, when not quoted."
        +              },
        +              "url": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "publisher",
        +              "url",
        +              "license"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "status": {
        +          "description": "visa_free, visa_free_with_requirements, visa_on_arrival, eta_required, evisa_required, visa_required or unclear (more values may be added).",
        +          "type": "string"
        +        },
        +        "status_by_source": {
        +          "description": "Status according to each source.",
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "passport",
        +        "destination",
        +        "status",
        +        "quotes",
        +        "official_links",
        +        "advisory",
        +        "decision_support_only",
        +        "sources",
        +        "confidence",
        +        "last_verified"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_power_compatibility10 fields changed
      • changedInput schema / properties / destination / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Destination country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / destination / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / destination / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • changedInput schema / properties / home_country / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Country where the traveller's devices come from as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / home_country / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / home_country / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • addedInput schema / properties / lang / default
        Added value: +"en"
      • changedInput schema / properties / lang / description
        Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
      • addedInput schema / properties / lang / examples
        Added value: +[
        +  "en",
        +  "ja",
        +  "zh-Hans",
        +  "zh-Hant"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "attribution": {
        +          "description": "Attribution strings to show to users when you display these facts.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "confidence": {
        +          "description": "Lowest confidence among the input facts.",
        +          "properties": {
        +            "level": {
        +              "examples": [
        +                "high",
        +                "medium",
        +                "low"
        +              ],
        +              "type": "string"
        +            },
        +            "reasons": {
        +              "description": "Why the score is what it is.",
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            },
        +            "score": {
        +              "maximum": 1,
        +              "minimum": 0,
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "score",
        +            "level"
        +          ],
        +          "type": "object"
        +        },
        +        "dataset_version": {
        +          "description": "Version of the dataset that answered.",
        +          "type": "string"
        +        },
        +        "disclaimer": {
        +          "description": "Informational-use disclaimer.",
        +          "type": "string"
        +        },
        +        "from": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "inputs": {
        +          "description": "The plug, voltage and frequency facts the verdict was computed from.",
        +          "items": {
        +            "properties": {
        +              "confidence": {
        +                "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                "properties": {
        +                  "level": {
        +                    "examples": [
        +                      "high",
        +                      "medium",
        +                      "low"
        +                    ],
        +                    "type": "string"
        +                  },
        +                  "reasons": {
        +                    "description": "Why the score is what it is.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "score": {
        +                    "maximum": 1,
        +                    "minimum": 0,
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "score",
        +                  "level"
        +                ],
        +                "type": "object"
        +              },
        +              "id": {
        +                "type": "string"
        +              },
        +              "last_verified": {
        +                "description": "Date the value was last verified (YYYY-MM-DD).",
        +                "type": "string"
        +              },
        +              "sources": {
        +                "description": "Cited sources for this fact.",
        +                "items": {
        +                  "description": "One cited source.",
        +                  "properties": {
        +                    "license": {
        +                      "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                      "type": "string"
        +                    },
        +                    "publisher": {
        +                      "type": "string"
        +                    },
        +                    "quote": {
        +                      "description": "Verbatim text from the source, when quoted.",
        +                      "type": "string"
        +                    },
        +                    "retrieved_at": {
        +                      "description": "When the source was fetched (ISO 8601).",
        +                      "type": "string"
        +                    },
        +                    "source_id": {
        +                      "type": "string"
        +                    },
        +                    "source_value": {
        +                      "description": "The raw value as given by the source, when not quoted."
        +                    },
        +                    "url": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "publisher",
        +                    "url",
        +                    "license"
        +                  ],
        +                  "type": "object"
        +                },
        +                "type": "array"
        +              },
        +              "value": {}
        +            },
        +            "required": [
        +              "id",
        +              "sources",
        +              "confidence",
        +              "last_verified"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "method": {
        +          "type": "string"
        +        },
        +        "to": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "verdict": {
        +          "properties": {
        +            "adapter": {
        +              "enum": [
        +                "not_needed",
        +                "needed",
        +                "depends_on_plug"
        +              ],
        +              "type": "string"
        +            },
        +            "converter": {
        +              "enum": [
        +                "not_needed",
        +                "usually_not_needed",
        +                "needed_for_single_voltage_devices",
        +                "unknown"
        +              ],
        +              "type": "string"
        +            },
        +            "frequency_note": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "guidance": {
        +              "type": "string"
        +            },
        +            "plug_fit": {
        +              "description": "For each home plug type, the destination socket types it fits.",
        +              "items": {
        +                "properties": {
        +                  "fits_sockets": {
        +                    "description": "Destination sockets this plug fits.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "plug": {
        +                    "type": "string"
        +                  }
        +                },
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "adapter",
        +            "converter",
        +            "plug_fit"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "from",
        +        "to",
        +        "verdict",
        +        "confidence",
        +        "inputs",
        +        "attribution"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedget_country_facts10 fields changed
      • addedInput schema / properties / categories / description
        Added value: +"Categories to return; omit for all six."
      • addedInput schema / properties / categories / examples
        Added value: +[
        +  [
        +    "power",
        +    "currency"
        +  ]
        +]
      • addedInput schema / properties / categories / items / type
        Added value: +"string"
      • changedInput schema / properties / country / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / country / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / country / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • addedInput schema / properties / lang / default
        Added value: +"en"
      • changedInput schema / properties / lang / description
        Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
      • addedInput schema / properties / lang / examples
        Added value: +[
        +  "en",
        +  "ja",
        +  "zh-Hans",
        +  "zh-Hant"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "attribution": {
        +          "description": "Attribution strings to show to users when you display these facts.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "country": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "data": {
        +          "description": "One entry per requested category.",
        +          "properties": {
        +            "currency": {
        +              "additionalProperties": {
        +                "description": "One cited fact.",
        +                "properties": {
        +                  "attribution": {
        +                    "description": "Attribution strings required by the source licenses.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "confidence": {
        +                    "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                    "properties": {
        +                      "level": {
        +                        "examples": [
        +                          "high",
        +                          "medium",
        +                          "low"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "reasons": {
        +                        "description": "Why the score is what it is.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "score": {
        +                        "maximum": 1,
        +                        "minimum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "score",
        +                      "level"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "cross_checks": {
        +                    "description": "Independent datasets the value was checked against, with the result.",
        +                    "type": "array"
        +                  },
        +                  "field": {
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "last_verified": {
        +                    "description": "Date the value was last verified (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "localization": {
        +                    "type": "object"
        +                  },
        +                  "next_review_due": {
        +                    "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "sources": {
        +                    "description": "Cited sources for this fact.",
        +                    "items": {
        +                      "description": "One cited source.",
        +                      "properties": {
        +                        "license": {
        +                          "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                          "type": "string"
        +                        },
        +                        "publisher": {
        +                          "type": "string"
        +                        },
        +                        "quote": {
        +                          "description": "Verbatim text from the source, when quoted.",
        +                          "type": "string"
        +                        },
        +                        "retrieved_at": {
        +                          "description": "When the source was fetched (ISO 8601).",
        +                          "type": "string"
        +                        },
        +                        "source_id": {
        +                          "type": "string"
        +                        },
        +                        "source_value": {
        +                          "description": "The raw value as given by the source, when not quoted."
        +                        },
        +                        "url": {
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "publisher",
        +                        "url",
        +                        "license"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "unit": {
        +                    "type": "string"
        +                  },
        +                  "value": {
        +                    "description": "The fact value; its shape depends on the field."
        +                  }
        +                },
        +                "required": [
        +                  "value",
        +                  "sources",
        +                  "last_verified",
        +                  "confidence"
        +                ],
        +                "type": "object"
        +              },
        +              "description": "Currency facts. Keys are field names, each value is a cited fact.",
        +              "properties": {
        +                "currencies": {
        +                  "description": "Currencies in use: ISO 4217 code, name and symbols.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "driving": {
        +              "additionalProperties": {
        +                "description": "One cited fact.",
        +                "properties": {
        +                  "attribution": {
        +                    "description": "Attribution strings required by the source licenses.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "confidence": {
        +                    "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                    "properties": {
        +                      "level": {
        +                        "examples": [
        +                          "high",
        +                          "medium",
        +                          "low"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "reasons": {
        +                        "description": "Why the score is what it is.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "score": {
        +                        "maximum": 1,
        +                        "minimum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "score",
        +                      "level"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "cross_checks": {
        +                    "description": "Independent datasets the value was checked against, with the result.",
        +                    "type": "array"
        +                  },
        +                  "field": {
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "last_verified": {
        +                    "description": "Date the value was last verified (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "localization": {
        +                    "type": "object"
        +                  },
        +                  "next_review_due": {
        +                    "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "sources": {
        +                    "description": "Cited sources for this fact.",
        +                    "items": {
        +                      "description": "One cited source.",
        +                      "properties": {
        +                        "license": {
        +                          "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                          "type": "string"
        +                        },
        +                        "publisher": {
        +                          "type": "string"
        +                        },
        +                        "quote": {
        +                          "description": "Verbatim text from the source, when quoted.",
        +                          "type": "string"
        +                        },
        +                        "retrieved_at": {
        +                          "description": "When the source was fetched (ISO 8601).",
        +                          "type": "string"
        +                        },
        +                        "source_id": {
        +                          "type": "string"
        +                        },
        +                        "source_value": {
        +                          "description": "The raw value as given by the source, when not quoted."
        +                        },
        +                        "url": {
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "publisher",
        +                        "url",
        +                        "license"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "unit": {
        +                    "type": "string"
        +                  },
        +                  "value": {
        +                    "description": "The fact value; its shape depends on the field."
        +                  }
        +                },
        +                "required": [
        +                  "value",
        +                  "sources",
        +                  "last_verified",
        +                  "confidence"
        +                ],
        +                "type": "object"
        +              },
        +              "description": "Driving facts. Keys are field names, each value is a cited fact.",
        +              "properties": {
        +                "side": {
        +                  "description": "\"left\" or \"right\".",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "emergency": {
        +              "additionalProperties": {
        +                "description": "One cited fact.",
        +                "properties": {
        +                  "attribution": {
        +                    "description": "Attribution strings required by the source licenses.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "confidence": {
        +                    "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                    "properties": {
        +                      "level": {
        +                        "examples": [
        +                          "high",
        +                          "medium",
        +                          "low"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "reasons": {
        +                        "description": "Why the score is what it is.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "score": {
        +                        "maximum": 1,
        +                        "minimum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "score",
        +                      "level"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "cross_checks": {
        +                    "description": "Independent datasets the value was checked against, with the result.",
        +                    "type": "array"
        +                  },
        +                  "field": {
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "last_verified": {
        +                    "description": "Date the value was last verified (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "localization": {
        +                    "type": "object"
        +                  },
        +                  "next_review_due": {
        +                    "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "sources": {
        +                    "description": "Cited sources for this fact.",
        +                    "items": {
        +                      "description": "One cited source.",
        +                      "properties": {
        +                        "license": {
        +                          "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                          "type": "string"
        +                        },
        +                        "publisher": {
        +                          "type": "string"
        +                        },
        +                        "quote": {
        +                          "description": "Verbatim text from the source, when quoted.",
        +                          "type": "string"
        +                        },
        +                        "retrieved_at": {
        +                          "description": "When the source was fetched (ISO 8601).",
        +                          "type": "string"
        +                        },
        +                        "source_id": {
        +                          "type": "string"
        +                        },
        +                        "source_value": {
        +                          "description": "The raw value as given by the source, when not quoted."
        +                        },
        +                        "url": {
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "publisher",
        +                        "url",
        +                        "license"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "unit": {
        +                    "type": "string"
        +                  },
        +                  "value": {
        +                    "description": "The fact value; its shape depends on the field."
        +                  }
        +                },
        +                "required": [
        +                  "value",
        +                  "sources",
        +                  "last_verified",
        +                  "confidence"
        +                ],
        +                "type": "object"
        +              },
        +              "description": "Emergency-number facts. Keys are field names, each value is a cited fact.",
        +              "properties": {
        +                "numbers": {
        +                  "description": "police, ambulance, fire, general (null when there is no separate number) and all_numbers.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "holidays": {
        +              "additionalProperties": {
        +                "description": "One cited fact.",
        +                "properties": {
        +                  "attribution": {
        +                    "description": "Attribution strings required by the source licenses.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "confidence": {
        +                    "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                    "properties": {
        +                      "level": {
        +                        "examples": [
        +                          "high",
        +                          "medium",
        +                          "low"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "reasons": {
        +                        "description": "Why the score is what it is.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "score": {
        +                        "maximum": 1,
        +                        "minimum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "score",
        +                      "level"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "cross_checks": {
        +                    "description": "Independent datasets the value was checked against, with the result.",
        +                    "type": "array"
        +                  },
        +                  "field": {
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "last_verified": {
        +                    "description": "Date the value was last verified (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "localization": {
        +                    "type": "object"
        +                  },
        +                  "next_review_due": {
        +                    "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "sources": {
        +                    "description": "Cited sources for this fact.",
        +                    "items": {
        +                      "description": "One cited source.",
        +                      "properties": {
        +                        "license": {
        +                          "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                          "type": "string"
        +                        },
        +                        "publisher": {
        +                          "type": "string"
        +                        },
        +                        "quote": {
        +                          "description": "Verbatim text from the source, when quoted.",
        +                          "type": "string"
        +                        },
        +                        "retrieved_at": {
        +                          "description": "When the source was fetched (ISO 8601).",
        +                          "type": "string"
        +                        },
        +                        "source_id": {
        +                          "type": "string"
        +                        },
        +                        "source_value": {
        +                          "description": "The raw value as given by the source, when not quoted."
        +                        },
        +                        "url": {
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "publisher",
        +                        "url",
        +                        "license"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "unit": {
        +                    "type": "string"
        +                  },
        +                  "value": {
        +                    "description": "The fact value; its shape depends on the field."
        +                  }
        +                },
        +                "required": [
        +                  "value",
        +                  "sources",
        +                  "last_verified",
        +                  "confidence"
        +                ],
        +                "type": "object"
        +              },
        +              "description": "Public holidays of the current calendar year (field public_<year>; value = list of {date, name}). Keys are field names, each value is a cited fact.",
        +              "properties": {},
        +              "type": "object"
        +            },
        +            "power": {
        +              "additionalProperties": {
        +                "description": "One cited fact.",
        +                "properties": {
        +                  "attribution": {
        +                    "description": "Attribution strings required by the source licenses.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "confidence": {
        +                    "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                    "properties": {
        +                      "level": {
        +                        "examples": [
        +                          "high",
        +                          "medium",
        +                          "low"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "reasons": {
        +                        "description": "Why the score is what it is.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "score": {
        +                        "maximum": 1,
        +                        "minimum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "score",
        +                      "level"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "cross_checks": {
        +                    "description": "Independent datasets the value was checked against, with the result.",
        +                    "type": "array"
        +                  },
        +                  "field": {
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "last_verified": {
        +                    "description": "Date the value was last verified (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "localization": {
        +                    "type": "object"
        +                  },
        +                  "next_review_due": {
        +                    "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "sources": {
        +                    "description": "Cited sources for this fact.",
        +                    "items": {
        +                      "description": "One cited source.",
        +                      "properties": {
        +                        "license": {
        +                          "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                          "type": "string"
        +                        },
        +                        "publisher": {
        +                          "type": "string"
        +                        },
        +                        "quote": {
        +                          "description": "Verbatim text from the source, when quoted.",
        +                          "type": "string"
        +                        },
        +                        "retrieved_at": {
        +                          "description": "When the source was fetched (ISO 8601).",
        +                          "type": "string"
        +                        },
        +                        "source_id": {
        +                          "type": "string"
        +                        },
        +                        "source_value": {
        +                          "description": "The raw value as given by the source, when not quoted."
        +                        },
        +                        "url": {
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "publisher",
        +                        "url",
        +                        "license"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "unit": {
        +                    "type": "string"
        +                  },
        +                  "value": {
        +                    "description": "The fact value; its shape depends on the field."
        +                  }
        +                },
        +                "required": [
        +                  "value",
        +                  "sources",
        +                  "last_verified",
        +                  "confidence"
        +                ],
        +                "type": "object"
        +              },
        +              "description": "Power facts. Keys are field names, each value is a cited fact.",
        +              "properties": {
        +                "frequency_hz": {
        +                  "description": "Mains frequency(ies) in hertz.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                },
        +                "plug_types": {
        +                  "description": "Plug/socket types (IEC letters).",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                },
        +                "voltage_v": {
        +                  "description": "Mains voltage(s) in volts.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "tipping": {
        +              "additionalProperties": {
        +                "description": "One cited fact.",
        +                "properties": {
        +                  "attribution": {
        +                    "description": "Attribution strings required by the source licenses.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "confidence": {
        +                    "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                    "properties": {
        +                      "level": {
        +                        "examples": [
        +                          "high",
        +                          "medium",
        +                          "low"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "reasons": {
        +                        "description": "Why the score is what it is.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "score": {
        +                        "maximum": 1,
        +                        "minimum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "score",
        +                      "level"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "cross_checks": {
        +                    "description": "Independent datasets the value was checked against, with the result.",
        +                    "type": "array"
        +                  },
        +                  "field": {
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "last_verified": {
        +                    "description": "Date the value was last verified (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "localization": {
        +                    "type": "object"
        +                  },
        +                  "next_review_due": {
        +                    "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "sources": {
        +                    "description": "Cited sources for this fact.",
        +                    "items": {
        +                      "description": "One cited source.",
        +                      "properties": {
        +                        "license": {
        +                          "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                          "type": "string"
        +                        },
        +                        "publisher": {
        +                          "type": "string"
        +                        },
        +                        "quote": {
        +                          "description": "Verbatim text from the source, when quoted.",
        +                          "type": "string"
        +                        },
        +                        "retrieved_at": {
        +                          "description": "When the source was fetched (ISO 8601).",
        +                          "type": "string"
        +                        },
        +                        "source_id": {
        +                          "type": "string"
        +                        },
        +                        "source_value": {
        +                          "description": "The raw value as given by the source, when not quoted."
        +                        },
        +                        "url": {
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "publisher",
        +                        "url",
        +                        "license"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "unit": {
        +                    "type": "string"
        +                  },
        +                  "value": {
        +                    "description": "The fact value; its shape depends on the field."
        +                  }
        +                },
        +                "required": [
        +                  "value",
        +                  "sources",
        +                  "last_verified",
        +                  "confidence"
        +                ],
        +                "type": "object"
        +              },
        +              "description": "Tipping facts. Keys are field names, each value is a cited fact.",
        +              "properties": {
        +                "norms": {
        +                  "description": "overall_context and situations: {<situation>: {display, expectation, guidance_type, percent_min, percent_max}}.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "dataset_version": {
        +          "description": "Version of the dataset that answered.",
        +          "type": "string"
        +        },
        +        "disclaimer": {
        +          "description": "Informational-use disclaimer.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "country",
        +        "data",
        +        "attribution"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedget_emergency_numbers7 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / country / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / country / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • addedInput schema / properties / lang / default
        Added value: +"en"
      • changedInput schema / properties / lang / description
        Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
      • addedInput schema / properties / lang / examples
        Added value: +[
        +  "en",
        +  "ja",
        +  "zh-Hans",
        +  "zh-Hant"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "attribution": {
        +          "description": "Attribution strings to show to users when you display these facts.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "category": {
        +          "const": "emergency"
        +        },
        +        "country": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "data": {
        +          "additionalProperties": {
        +            "description": "One cited fact.",
        +            "properties": {
        +              "attribution": {
        +                "description": "Attribution strings required by the source licenses.",
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "confidence": {
        +                "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                "properties": {
        +                  "level": {
        +                    "examples": [
        +                      "high",
        +                      "medium",
        +                      "low"
        +                    ],
        +                    "type": "string"
        +                  },
        +                  "reasons": {
        +                    "description": "Why the score is what it is.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "score": {
        +                    "maximum": 1,
        +                    "minimum": 0,
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "score",
        +                  "level"
        +                ],
        +                "type": "object"
        +              },
        +              "cross_checks": {
        +                "description": "Independent datasets the value was checked against, with the result.",
        +                "type": "array"
        +              },
        +              "field": {
        +                "type": "string"
        +              },
        +              "id": {
        +                "type": "string"
        +              },
        +              "last_verified": {
        +                "description": "Date the value was last verified (YYYY-MM-DD).",
        +                "type": "string"
        +              },
        +              "localization": {
        +                "type": "object"
        +              },
        +              "next_review_due": {
        +                "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                "type": "string"
        +              },
        +              "sources": {
        +                "description": "Cited sources for this fact.",
        +                "items": {
        +                  "description": "One cited source.",
        +                  "properties": {
        +                    "license": {
        +                      "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                      "type": "string"
        +                    },
        +                    "publisher": {
        +                      "type": "string"
        +                    },
        +                    "quote": {
        +                      "description": "Verbatim text from the source, when quoted.",
        +                      "type": "string"
        +                    },
        +                    "retrieved_at": {
        +                      "description": "When the source was fetched (ISO 8601).",
        +                      "type": "string"
        +                    },
        +                    "source_id": {
        +                      "type": "string"
        +                    },
        +                    "source_value": {
        +                      "description": "The raw value as given by the source, when not quoted."
        +                    },
        +                    "url": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "publisher",
        +                    "url",
        +                    "license"
        +                  ],
        +                  "type": "object"
        +                },
        +                "type": "array"
        +              },
        +              "unit": {
        +                "type": "string"
        +              },
        +              "value": {
        +                "description": "The fact value; its shape depends on the field."
        +              }
        +            },
        +            "required": [
        +              "value",
        +              "sources",
        +              "last_verified",
        +              "confidence"
        +            ],
        +            "type": "object"
        +          },
        +          "description": "Emergency-number facts. Keys are field names, each value is a cited fact.",
        +          "properties": {
        +            "numbers": {
        +              "description": "police, ambulance, fire, general (null when there is no separate number) and all_numbers.",
        +              "properties": {
        +                "attribution": {
        +                  "description": "Attribution strings required by the source licenses.",
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "confidence": {
        +                  "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                  "properties": {
        +                    "level": {
        +                      "examples": [
        +                        "high",
        +                        "medium",
        +                        "low"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "reasons": {
        +                      "description": "Why the score is what it is.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "score": {
        +                      "maximum": 1,
        +                      "minimum": 0,
        +                      "type": "number"
        +                    }
        +                  },
        +                  "required": [
        +                    "score",
        +                    "level"
        +                  ],
        +                  "type": "object"
        +                },
        +                "cross_checks": {
        +                  "description": "Independent datasets the value was checked against, with the result.",
        +                  "type": "array"
        +                },
        +                "field": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "type": "string"
        +                },
        +                "last_verified": {
        +                  "description": "Date the value was last verified (YYYY-MM-DD).",
        +                  "type": "string"
        +                },
        +                "localization": {
        +                  "type": "object"
        +                },
        +                "next_review_due": {
        +                  "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                  "type": "string"
        +                },
        +                "sources": {
        +                  "description": "Cited sources for this fact.",
        +                  "items": {
        +                    "description": "One cited source.",
        +                    "properties": {
        +                      "license": {
        +                        "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                        "type": "string"
        +                      },
        +                      "publisher": {
        +                        "type": "string"
        +                      },
        +                      "quote": {
        +                        "description": "Verbatim text from the source, when quoted.",
        +                        "type": "string"
        +                      },
        +                      "retrieved_at": {
        +                        "description": "When the source was fetched (ISO 8601).",
        +                        "type": "string"
        +                      },
        +                      "source_id": {
        +                        "type": "string"
        +                      },
        +                      "source_value": {
        +                        "description": "The raw value as given by the source, when not quoted."
        +                      },
        +                      "url": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "publisher",
        +                      "url",
        +                      "license"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "unit": {
        +                  "type": "string"
        +                },
        +                "value": {
        +                  "description": "The fact value; its shape depends on the field."
        +                }
        +              },
        +              "required": [
        +                "value",
        +                "sources",
        +                "last_verified",
        +                "confidence"
        +              ],
        +              "type": "object"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "dataset_version": {
        +          "description": "Version of the dataset that answered.",
        +          "type": "string"
        +        },
        +        "disclaimer": {
        +          "description": "Informational-use disclaimer.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "country",
        +        "data",
        +        "attribution"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedget_public_holidays13 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / country / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / country / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • changedInput schema / properties / from / description
        Previous value: -"Start date, YYYY-MM-DD"New value: +"First day of the range (inclusive). Calendar date, YYYY-MM-DD."
      • addedInput schema / properties / from / examples
        Added value: +[
        +  "2026-12-20"
        +]
      • addedInput schema / properties / from / format
        Added value: +"date"
      • addedInput schema / properties / lang / default
        Added value: +"en"
      • changedInput schema / properties / lang / description
        Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
      • addedInput schema / properties / lang / examples
        Added value: +[
        +  "en",
        +  "ja",
        +  "zh-Hans",
        +  "zh-Hant"
        +]
      • changedInput schema / properties / to / description
        Previous value: -"End date, YYYY-MM-DD"New value: +"Last day of the range (inclusive), on or after from and at most two years later. Calendar date, YYYY-MM-DD."
      • addedInput schema / properties / to / examples
        Added value: +[
        +  "2027-01-10"
        +]
      • addedInput schema / properties / to / format
        Added value: +"date"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "attribution": {
        +          "description": "Attribution strings to show to users when you display these facts.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "category": {
        +          "const": "holidays"
        +        },
        +        "country": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "data": {
        +          "properties": {
        +            "coverage_note": {
        +              "description": "Present when there is no data for the range.",
        +              "type": "string"
        +            },
        +            "facts": {
        +              "description": "One cited fact per calendar year covered (value replaced by holiday_count).",
        +              "items": {
        +                "properties": {
        +                  "attribution": {
        +                    "description": "Attribution strings required by the source licenses.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "confidence": {
        +                    "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                    "properties": {
        +                      "level": {
        +                        "examples": [
        +                          "high",
        +                          "medium",
        +                          "low"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "reasons": {
        +                        "description": "Why the score is what it is.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "score": {
        +                        "maximum": 1,
        +                        "minimum": 0,
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "score",
        +                      "level"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "cross_checks": {
        +                    "description": "Independent datasets the value was checked against, with the result.",
        +                    "type": "array"
        +                  },
        +                  "holiday_count": {
        +                    "type": "integer"
        +                  },
        +                  "id": {
        +                    "type": "string"
        +                  },
        +                  "last_verified": {
        +                    "description": "Date the value was last verified (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "next_review_due": {
        +                    "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                    "type": "string"
        +                  },
        +                  "sources": {
        +                    "description": "Cited sources for this fact.",
        +                    "items": {
        +                      "description": "One cited source.",
        +                      "properties": {
        +                        "license": {
        +                          "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                          "type": "string"
        +                        },
        +                        "publisher": {
        +                          "type": "string"
        +                        },
        +                        "quote": {
        +                          "description": "Verbatim text from the source, when quoted.",
        +                          "type": "string"
        +                        },
        +                        "retrieved_at": {
        +                          "description": "When the source was fetched (ISO 8601).",
        +                          "type": "string"
        +                        },
        +                        "source_id": {
        +                          "type": "string"
        +                        },
        +                        "source_value": {
        +                          "description": "The raw value as given by the source, when not quoted."
        +                        },
        +                        "url": {
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "publisher",
        +                        "url",
        +                        "license"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "year": {
        +                    "type": "integer"
        +                  }
        +                },
        +                "required": [
        +                  "id",
        +                  "sources",
        +                  "last_verified",
        +                  "confidence"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "holidays": {
        +              "description": "Holidays in the range, sorted by date.",
        +              "items": {
        +                "properties": {
        +                  "date": {
        +                    "type": "string"
        +                  },
        +                  "fact_id": {
        +                    "description": "The yearly fact (in facts[]) that lists this holiday.",
        +                    "type": "string"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "date",
        +                  "name"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "holidays",
        +            "facts"
        +          ],
        +          "type": "object"
        +        },
        +        "dataset_version": {
        +          "description": "Version of the dataset that answered.",
        +          "type": "string"
        +        },
        +        "disclaimer": {
        +          "description": "Informational-use disclaimer.",
        +          "type": "string"
        +        },
        +        "range": {
        +          "properties": {
        +            "from": {
        +              "type": "string"
        +            },
        +            "to": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "from",
        +            "to"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "country",
        +        "range",
        +        "data",
        +        "attribution"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedget_tipping_norms9 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / country / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / country / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • addedInput schema / properties / lang / default
        Added value: +"en"
      • changedInput schema / properties / lang / description
        Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
      • addedInput schema / properties / lang / examples
        Added value: +[
        +  "en",
        +  "ja",
        +  "zh-Hans",
        +  "zh-Hant"
        +]
      • addedInput schema / properties / situation / description
        Added value: +"Return only this situation. A situation with no data gives an empty situations object (not an error). Omit for all situations."
      • changedInput schema / properties / situation / enum
        Previous value: -[
        -  "restaurant",
        -  "taxi",
        -  "hotel_staff",
        -  "bar"
        -]New value: +[
        +  "restaurant",
        +  "taxi",
        +  "hotel_staff",
        +  "tour_guides",
        +  "bar"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "attribution": {
        +          "description": "Attribution strings to show to users when you display these facts.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "category": {
        +          "const": "tipping"
        +        },
        +        "country": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "data": {
        +          "additionalProperties": {
        +            "description": "One cited fact.",
        +            "properties": {
        +              "attribution": {
        +                "description": "Attribution strings required by the source licenses.",
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "confidence": {
        +                "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                "properties": {
        +                  "level": {
        +                    "examples": [
        +                      "high",
        +                      "medium",
        +                      "low"
        +                    ],
        +                    "type": "string"
        +                  },
        +                  "reasons": {
        +                    "description": "Why the score is what it is.",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "score": {
        +                    "maximum": 1,
        +                    "minimum": 0,
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "score",
        +                  "level"
        +                ],
        +                "type": "object"
        +              },
        +              "cross_checks": {
        +                "description": "Independent datasets the value was checked against, with the result.",
        +                "type": "array"
        +              },
        +              "field": {
        +                "type": "string"
        +              },
        +              "id": {
        +                "type": "string"
        +              },
        +              "last_verified": {
        +                "description": "Date the value was last verified (YYYY-MM-DD).",
        +                "type": "string"
        +              },
        +              "localization": {
        +                "type": "object"
        +              },
        +              "next_review_due": {
        +                "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                "type": "string"
        +              },
        +              "sources": {
        +                "description": "Cited sources for this fact.",
        +                "items": {
        +                  "description": "One cited source.",
        +                  "properties": {
        +                    "license": {
        +                      "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                      "type": "string"
        +                    },
        +                    "publisher": {
        +                      "type": "string"
        +                    },
        +                    "quote": {
        +                      "description": "Verbatim text from the source, when quoted.",
        +                      "type": "string"
        +                    },
        +                    "retrieved_at": {
        +                      "description": "When the source was fetched (ISO 8601).",
        +                      "type": "string"
        +                    },
        +                    "source_id": {
        +                      "type": "string"
        +                    },
        +                    "source_value": {
        +                      "description": "The raw value as given by the source, when not quoted."
        +                    },
        +                    "url": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "publisher",
        +                    "url",
        +                    "license"
        +                  ],
        +                  "type": "object"
        +                },
        +                "type": "array"
        +              },
        +              "unit": {
        +                "type": "string"
        +              },
        +              "value": {
        +                "description": "The fact value; its shape depends on the field."
        +              }
        +            },
        +            "required": [
        +              "value",
        +              "sources",
        +              "last_verified",
        +              "confidence"
        +            ],
        +            "type": "object"
        +          },
        +          "description": "Tipping facts. Keys are field names, each value is a cited fact.",
        +          "properties": {
        +            "norms": {
        +              "description": "overall_context and situations: {<situation>: {display, expectation, guidance_type, percent_min, percent_max}}.",
        +              "properties": {
        +                "attribution": {
        +                  "description": "Attribution strings required by the source licenses.",
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "confidence": {
        +                  "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                  "properties": {
        +                    "level": {
        +                      "examples": [
        +                        "high",
        +                        "medium",
        +                        "low"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "reasons": {
        +                      "description": "Why the score is what it is.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "score": {
        +                      "maximum": 1,
        +                      "minimum": 0,
        +                      "type": "number"
        +                    }
        +                  },
        +                  "required": [
        +                    "score",
        +                    "level"
        +                  ],
        +                  "type": "object"
        +                },
        +                "cross_checks": {
        +                  "description": "Independent datasets the value was checked against, with the result.",
        +                  "type": "array"
        +                },
        +                "field": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "type": "string"
        +                },
        +                "last_verified": {
        +                  "description": "Date the value was last verified (YYYY-MM-DD).",
        +                  "type": "string"
        +                },
        +                "localization": {
        +                  "type": "object"
        +                },
        +                "next_review_due": {
        +                  "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                  "type": "string"
        +                },
        +                "sources": {
        +                  "description": "Cited sources for this fact.",
        +                  "items": {
        +                    "description": "One cited source.",
        +                    "properties": {
        +                      "license": {
        +                        "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                        "type": "string"
        +                      },
        +                      "publisher": {
        +                        "type": "string"
        +                      },
        +                      "quote": {
        +                        "description": "Verbatim text from the source, when quoted.",
        +                        "type": "string"
        +                      },
        +                      "retrieved_at": {
        +                        "description": "When the source was fetched (ISO 8601).",
        +                        "type": "string"
        +                      },
        +                      "source_id": {
        +                        "type": "string"
        +                      },
        +                      "source_value": {
        +                        "description": "The raw value as given by the source, when not quoted."
        +                      },
        +                      "url": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "publisher",
        +                      "url",
        +                      "license"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "unit": {
        +                  "type": "string"
        +                },
        +                "value": {
        +                  "description": "The fact value; its shape depends on the field."
        +                }
        +              },
        +              "required": [
        +                "value",
        +                "sources",
        +                "last_verified",
        +                "confidence"
        +              ],
        +              "type": "object"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "dataset_version": {
        +          "description": "Version of the dataset that answered.",
        +          "type": "string"
        +        },
        +        "disclaimer": {
        +          "description": "Informational-use disclaimer.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "country",
        +        "data",
        +        "attribution"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedget_trip_brief21 fields changed
      • addedInput schema / properties / destinations / description
        Added value: +"Destination countries, in travel order."
      • addedInput schema / properties / destinations / examples
        Added value: +[
        +  [
        +    "JP",
        +    "KR"
        +  ]
        +]
      • changedInput schema / properties / destinations / items / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Destination country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / destinations / items / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / destinations / items / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • changedInput schema / properties / from / description
        Previous value: -"Trip start"New value: +"Trip start (inclusive). Calendar date, YYYY-MM-DD."
      • addedInput schema / properties / from / examples
        Added value: +[
        +  "2026-12-28"
        +]
      • addedInput schema / properties / from / format
        Added value: +"date"
      • changedInput schema / properties / home_country / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Country the traveller starts from; used for the adapter/converter verdict as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / home_country / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / home_country / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • addedInput schema / properties / lang / default
        Added value: +"en"
      • changedInput schema / properties / lang / description
        Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
      • addedInput schema / properties / lang / examples
        Added value: +[
        +  "en",
        +  "ja",
        +  "zh-Hans",
        +  "zh-Hant"
        +]
      • changedInput schema / properties / passport / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Passport (nationality) country as an ISO 3166-1 alpha-2 or alpha-3 code. Optional: omit to skip entry requirements."
      • addedInput schema / properties / passport / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / passport / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • changedInput schema / properties / to / description
        Previous value: -"Trip end"New value: +"Trip end (inclusive), on or after from and at most two years later. Calendar date, YYYY-MM-DD."
      • addedInput schema / properties / to / examples
        Added value: +[
        +  "2027-01-05"
        +]
      • addedInput schema / properties / to / format
        Added value: +"date"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "advisory": {
        +          "description": "Present when a passport is given: show it to the user.",
        +          "type": "string"
        +        },
        +        "dataset_version": {
        +          "description": "Version of the dataset that answered.",
        +          "type": "string"
        +        },
        +        "destinations": {
        +          "description": "One section per destination, in request order.",
        +          "items": {
        +            "properties": {
        +              "currency": {
        +                "additionalProperties": {
        +                  "description": "One cited fact.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                },
        +                "description": "Currency facts. Keys are field names, each value is a cited fact.",
        +                "properties": {
        +                  "currencies": {
        +                    "description": "Currencies in use: ISO 4217 code, name and symbols.",
        +                    "properties": {
        +                      "attribution": {
        +                        "description": "Attribution strings required by the source licenses.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "confidence": {
        +                        "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                        "properties": {
        +                          "level": {
        +                            "examples": [
        +                              "high",
        +                              "medium",
        +                              "low"
        +                            ],
        +                            "type": "string"
        +                          },
        +                          "reasons": {
        +                            "description": "Why the score is what it is.",
        +                            "items": {
        +                              "type": "string"
        +                            },
        +                            "type": "array"
        +                          },
        +                          "score": {
        +                            "maximum": 1,
        +                            "minimum": 0,
        +                            "type": "number"
        +                          }
        +                        },
        +                        "required": [
        +                          "score",
        +                          "level"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "cross_checks": {
        +                        "description": "Independent datasets the value was checked against, with the result.",
        +                        "type": "array"
        +                      },
        +                      "field": {
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "last_verified": {
        +                        "description": "Date the value was last verified (YYYY-MM-DD).",
        +                        "type": "string"
        +                      },
        +                      "localization": {
        +                        "type": "object"
        +                      },
        +                      "next_review_due": {
        +                        "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                        "type": "string"
        +                      },
        +                      "sources": {
        +                        "description": "Cited sources for this fact.",
        +                        "items": {
        +                          "description": "One cited source.",
        +                          "properties": {
        +                            "license": {
        +                              "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                              "type": "string"
        +                            },
        +                            "publisher": {
        +                              "type": "string"
        +                            },
        +                            "quote": {
        +                              "description": "Verbatim text from the source, when quoted.",
        +                              "type": "string"
        +                            },
        +                            "retrieved_at": {
        +                              "description": "When the source was fetched (ISO 8601).",
        +                              "type": "string"
        +                            },
        +                            "source_id": {
        +                              "type": "string"
        +                            },
        +                            "source_value": {
        +                              "description": "The raw value as given by the source, when not quoted."
        +                            },
        +                            "url": {
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "publisher",
        +                            "url",
        +                            "license"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "unit": {
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "description": "The fact value; its shape depends on the field."
        +                      }
        +                    },
        +                    "required": [
        +                      "value",
        +                      "sources",
        +                      "last_verified",
        +                      "confidence"
        +                    ],
        +                    "type": "object"
        +                  }
        +                },
        +                "type": "object"
        +              },
        +              "destination": {
        +                "description": "Country (ISO codes and name, localized to lang).",
        +                "properties": {
        +                  "iso2": {
        +                    "type": "string"
        +                  },
        +                  "iso3": {
        +                    "type": "string"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "name_lang": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "iso2"
        +                ],
        +                "type": "object"
        +              },
        +              "driving": {
        +                "additionalProperties": {
        +                  "description": "One cited fact.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                },
        +                "description": "Driving facts. Keys are field names, each value is a cited fact.",
        +                "properties": {
        +                  "side": {
        +                    "description": "\"left\" or \"right\".",
        +                    "properties": {
        +                      "attribution": {
        +                        "description": "Attribution strings required by the source licenses.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "confidence": {
        +                        "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                        "properties": {
        +                          "level": {
        +                            "examples": [
        +                              "high",
        +                              "medium",
        +                              "low"
        +                            ],
        +                            "type": "string"
        +                          },
        +                          "reasons": {
        +                            "description": "Why the score is what it is.",
        +                            "items": {
        +                              "type": "string"
        +                            },
        +                            "type": "array"
        +                          },
        +                          "score": {
        +                            "maximum": 1,
        +                            "minimum": 0,
        +                            "type": "number"
        +                          }
        +                        },
        +                        "required": [
        +                          "score",
        +                          "level"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "cross_checks": {
        +                        "description": "Independent datasets the value was checked against, with the result.",
        +                        "type": "array"
        +                      },
        +                      "field": {
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "last_verified": {
        +                        "description": "Date the value was last verified (YYYY-MM-DD).",
        +                        "type": "string"
        +                      },
        +                      "localization": {
        +                        "type": "object"
        +                      },
        +                      "next_review_due": {
        +                        "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                        "type": "string"
        +                      },
        +                      "sources": {
        +                        "description": "Cited sources for this fact.",
        +                        "items": {
        +                          "description": "One cited source.",
        +                          "properties": {
        +                            "license": {
        +                              "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                              "type": "string"
        +                            },
        +                            "publisher": {
        +                              "type": "string"
        +                            },
        +                            "quote": {
        +                              "description": "Verbatim text from the source, when quoted.",
        +                              "type": "string"
        +                            },
        +                            "retrieved_at": {
        +                              "description": "When the source was fetched (ISO 8601).",
        +                              "type": "string"
        +                            },
        +                            "source_id": {
        +                              "type": "string"
        +                            },
        +                            "source_value": {
        +                              "description": "The raw value as given by the source, when not quoted."
        +                            },
        +                            "url": {
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "publisher",
        +                            "url",
        +                            "license"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "unit": {
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "description": "The fact value; its shape depends on the field."
        +                      }
        +                    },
        +                    "required": [
        +                      "value",
        +                      "sources",
        +                      "last_verified",
        +                      "confidence"
        +                    ],
        +                    "type": "object"
        +                  }
        +                },
        +                "type": "object"
        +              },
        +              "emergency": {
        +                "additionalProperties": {
        +                  "description": "One cited fact.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                },
        +                "description": "Emergency-number facts. Keys are field names, each value is a cited fact.",
        +                "properties": {
        +                  "numbers": {
        +                    "description": "police, ambulance, fire, general (null when there is no separate number) and all_numbers.",
        +                    "properties": {
        +                      "attribution": {
        +                        "description": "Attribution strings required by the source licenses.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "confidence": {
        +                        "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                        "properties": {
        +                          "level": {
        +                            "examples": [
        +                              "high",
        +                              "medium",
        +                              "low"
        +                            ],
        +                            "type": "string"
        +                          },
        +                          "reasons": {
        +                            "description": "Why the score is what it is.",
        +                            "items": {
        +                              "type": "string"
        +                            },
        +                            "type": "array"
        +                          },
        +                          "score": {
        +                            "maximum": 1,
        +                            "minimum": 0,
        +                            "type": "number"
        +                          }
        +                        },
        +                        "required": [
        +                          "score",
        +                          "level"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "cross_checks": {
        +                        "description": "Independent datasets the value was checked against, with the result.",
        +                        "type": "array"
        +                      },
        +                      "field": {
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "last_verified": {
        +                        "description": "Date the value was last verified (YYYY-MM-DD).",
        +                        "type": "string"
        +                      },
        +                      "localization": {
        +                        "type": "object"
        +                      },
        +                      "next_review_due": {
        +                        "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                        "type": "string"
        +                      },
        +                      "sources": {
        +                        "description": "Cited sources for this fact.",
        +                        "items": {
        +                          "description": "One cited source.",
        +                          "properties": {
        +                            "license": {
        +                              "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                              "type": "string"
        +                            },
        +                            "publisher": {
        +                              "type": "string"
        +                            },
        +                            "quote": {
        +                              "description": "Verbatim text from the source, when quoted.",
        +                              "type": "string"
        +                            },
        +                            "retrieved_at": {
        +                              "description": "When the source was fetched (ISO 8601).",
        +                              "type": "string"
        +                            },
        +                            "source_id": {
        +                              "type": "string"
        +                            },
        +                            "source_value": {
        +                              "description": "The raw value as given by the source, when not quoted."
        +                            },
        +                            "url": {
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "publisher",
        +                            "url",
        +                            "license"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "unit": {
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "description": "The fact value; its shape depends on the field."
        +                      }
        +                    },
        +                    "required": [
        +                      "value",
        +                      "sources",
        +                      "last_verified",
        +                      "confidence"
        +                    ],
        +                    "type": "object"
        +                  }
        +                },
        +                "type": "object"
        +              },
        +              "entry": {
        +                "description": "null without a passport; otherwise the check_entry_requirements result, or {unavailable: reason} when there is no entry answer for this destination.",
        +                "type": [
        +                  "object",
        +                  "null"
        +                ]
        +              },
        +              "holidays_during_trip": {
        +                "description": "Public holidays between from and to.",
        +                "items": {
        +                  "properties": {
        +                    "date": {
        +                      "type": "string"
        +                    },
        +                    "fact_id": {
        +                      "type": "string"
        +                    },
        +                    "name": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "date",
        +                    "name"
        +                  ],
        +                  "type": "object"
        +                },
        +                "type": "array"
        +              },
        +              "power": {
        +                "description": "check_power_compatibility result from home_country; null for the home country itself or when plug data is missing.",
        +                "type": [
        +                  "object",
        +                  "null"
        +                ]
        +              },
        +              "tipping": {
        +                "additionalProperties": {
        +                  "description": "One cited fact.",
        +                  "properties": {
        +                    "attribution": {
        +                      "description": "Attribution strings required by the source licenses.",
        +                      "items": {
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "confidence": {
        +                      "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                      "properties": {
        +                        "level": {
        +                          "examples": [
        +                            "high",
        +                            "medium",
        +                            "low"
        +                          ],
        +                          "type": "string"
        +                        },
        +                        "reasons": {
        +                          "description": "Why the score is what it is.",
        +                          "items": {
        +                            "type": "string"
        +                          },
        +                          "type": "array"
        +                        },
        +                        "score": {
        +                          "maximum": 1,
        +                          "minimum": 0,
        +                          "type": "number"
        +                        }
        +                      },
        +                      "required": [
        +                        "score",
        +                        "level"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "cross_checks": {
        +                      "description": "Independent datasets the value was checked against, with the result.",
        +                      "type": "array"
        +                    },
        +                    "field": {
        +                      "type": "string"
        +                    },
        +                    "id": {
        +                      "type": "string"
        +                    },
        +                    "last_verified": {
        +                      "description": "Date the value was last verified (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "localization": {
        +                      "type": "object"
        +                    },
        +                    "next_review_due": {
        +                      "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                      "type": "string"
        +                    },
        +                    "sources": {
        +                      "description": "Cited sources for this fact.",
        +                      "items": {
        +                        "description": "One cited source.",
        +                        "properties": {
        +                          "license": {
        +                            "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                            "type": "string"
        +                          },
        +                          "publisher": {
        +                            "type": "string"
        +                          },
        +                          "quote": {
        +                            "description": "Verbatim text from the source, when quoted.",
        +                            "type": "string"
        +                          },
        +                          "retrieved_at": {
        +                            "description": "When the source was fetched (ISO 8601).",
        +                            "type": "string"
        +                          },
        +                          "source_id": {
        +                            "type": "string"
        +                          },
        +                          "source_value": {
        +                            "description": "The raw value as given by the source, when not quoted."
        +                          },
        +                          "url": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "publisher",
        +                          "url",
        +                          "license"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "unit": {
        +                      "type": "string"
        +                    },
        +                    "value": {
        +                      "description": "The fact value; its shape depends on the field."
        +                    }
        +                  },
        +                  "required": [
        +                    "value",
        +                    "sources",
        +                    "last_verified",
        +                    "confidence"
        +                  ],
        +                  "type": "object"
        +                },
        +                "description": "Tipping facts. Keys are field names, each value is a cited fact.",
        +                "properties": {
        +                  "norms": {
        +                    "description": "overall_context and situations: {<situation>: {display, expectation, guidance_type, percent_min, percent_max}}.",
        +                    "properties": {
        +                      "attribution": {
        +                        "description": "Attribution strings required by the source licenses.",
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "confidence": {
        +                        "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
        +                        "properties": {
        +                          "level": {
        +                            "examples": [
        +                              "high",
        +                              "medium",
        +                              "low"
        +                            ],
        +                            "type": "string"
        +                          },
        +                          "reasons": {
        +                            "description": "Why the score is what it is.",
        +                            "items": {
        +                              "type": "string"
        +                            },
        +                            "type": "array"
        +                          },
        +                          "score": {
        +                            "maximum": 1,
        +                            "minimum": 0,
        +                            "type": "number"
        +                          }
        +                        },
        +                        "required": [
        +                          "score",
        +                          "level"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "cross_checks": {
        +                        "description": "Independent datasets the value was checked against, with the result.",
        +                        "type": "array"
        +                      },
        +                      "field": {
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "last_verified": {
        +                        "description": "Date the value was last verified (YYYY-MM-DD).",
        +                        "type": "string"
        +                      },
        +                      "localization": {
        +                        "type": "object"
        +                      },
        +                      "next_review_due": {
        +                        "description": "Date of the next scheduled review (YYYY-MM-DD).",
        +                        "type": "string"
        +                      },
        +                      "sources": {
        +                        "description": "Cited sources for this fact.",
        +                        "items": {
        +                          "description": "One cited source.",
        +                          "properties": {
        +                            "license": {
        +                              "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
        +                              "type": "string"
        +                            },
        +                            "publisher": {
        +                              "type": "string"
        +                            },
        +                            "quote": {
        +                              "description": "Verbatim text from the source, when quoted.",
        +                              "type": "string"
        +                            },
        +                            "retrieved_at": {
        +                              "description": "When the source was fetched (ISO 8601).",
        +                              "type": "string"
        +                            },
        +                            "source_id": {
        +                              "type": "string"
        +                            },
        +                            "source_value": {
        +                              "description": "The raw value as given by the source, when not quoted."
        +                            },
        +                            "url": {
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "publisher",
        +                            "url",
        +                            "license"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "unit": {
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "description": "The fact value; its shape depends on the field."
        +                      }
        +                    },
        +                    "required": [
        +                      "value",
        +                      "sources",
        +                      "last_verified",
        +                      "confidence"
        +                    ],
        +                    "type": "object"
        +                  }
        +                },
        +                "type": "object"
        +              }
        +            },
        +            "required": [
        +              "destination",
        +              "currency",
        +              "emergency",
        +              "driving",
        +              "tipping",
        +              "holidays_during_trip"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "disclaimer": {
        +          "description": "Informational-use disclaimer.",
        +          "type": "string"
        +        },
        +        "home": {
        +          "description": "Country (ISO codes and name, localized to lang).",
        +          "properties": {
        +            "iso2": {
        +              "type": "string"
        +            },
        +            "iso3": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "name_lang": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "iso2"
        +          ],
        +          "type": "object"
        +        },
        +        "not_a_verdict": {
        +          "type": "string"
        +        },
        +        "passport": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "range": {
        +          "properties": {
        +            "from": {
        +              "type": "string"
        +            },
        +            "to": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "from",
        +            "to"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "home",
        +        "range",
        +        "destinations"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedlist_recent_changes10 fields changed
      • addedInput schema / properties / category / description
        Added value: +"Only changes in this category (entry = visa/entry pilot). Omit for all."
      • addedInput schema / properties / category / enum
        Added value: +[
        +  "power",
        +  "currency",
        +  "emergency",
        +  "driving",
        +  "holidays",
        +  "tipping",
        +  "entry"
        +]
      • changedInput schema / properties / country / description
        Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Only changes for this country (for entry facts, the destination) as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
      • addedInput schema / properties / country / examples
        Added value: +[
        +  "JP",
        +  "GB",
        +  "USA"
        +]
      • addedInput schema / properties / country / pattern
        Added value: +"^[A-Za-z]{2,3}$"
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 100,
        +  "description": "Maximum rows, newest first. Default 100; values are clamped to 1-500 (numeric strings are accepted).",
        +  "examples": [
        +    50
        +  ],
        +  "type": [
        +    "integer",
        +    "string"
        +  ]
        +}
      • changedInput schema / properties / since / description
        Previous value: -"YYYY-MM-DD"New value: +"Return changes on or after this date. Calendar date, YYYY-MM-DD."
      • addedInput schema / properties / since / examples
        Added value: +[
        +  "2026-10-01"
        +]
      • addedInput schema / properties / since / format
        Added value: +"date"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "data": {
        +          "description": "Changes, newest first.",
        +          "items": {
        +            "properties": {
        +              "category": {
        +                "type": "string"
        +              },
        +              "change": {
        +                "enum": [
        +                  "added",
        +                  "updated",
        +                  "removed"
        +                ],
        +                "type": "string"
        +              },
        +              "changed_on": {
        +                "description": "YYYY-MM-DD.",
        +                "type": "string"
        +              },
        +              "country": {
        +                "type": "string"
        +              },
        +              "dataset_version": {
        +                "type": "string"
        +              },
        +              "fact_id": {
        +                "type": "string"
        +              },
        +              "new_value": {
        +                "description": "New value (null when removed)."
        +              },
        +              "old_value": {
        +                "description": "Previous value (null when added)."
        +              },
        +              "seq": {
        +                "type": "integer"
        +              },
        +              "source_url": {
        +                "description": "Main source of the fact. Fetch the fact with the matching tool for full citations and confidence.",
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "fact_id",
        +              "country",
        +              "category",
        +              "change",
        +              "changed_on"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "dataset_version": {
        +          "description": "Version of the dataset that answered.",
        +          "type": "string"
        +        },
        +        "since": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "since",
        +        "data"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedresolve_country7 fields changed
      • addedInput schema / properties / lang / default
        Added value: +"en"
      • changedInput schema / properties / lang / description
        Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
      • addedInput schema / properties / lang / examples
        Added value: +[
        +  "en",
        +  "ja",
        +  "zh-Hans",
        +  "zh-Hant"
        +]
      • addedInput schema / properties / query / description
        Added value: +"Country name, alias or code, in English, Japanese or Chinese. Case-, space- and punctuation-insensitive (a leading \"the\" is ignored); matches exactly, by prefix (3+ characters) or by substring (4+ characters); not a spelling corrector."
      • addedInput schema / properties / query / examples
        Added value: +[
        +  "Japan",
        +  "日本",
        +  "UK",
        +  "Côte d'Ivoire"
        +]
      • addedInput schema / properties / query / minLength
        Added value: +1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "anyOf": [
        +    {
        +      "properties": {
        +        "matches": {
        +          "description": "Up to 5 matches, best first. Empty when nothing matches.",
        +          "items": {
        +            "properties": {
        +              "iso2": {
        +                "type": "string"
        +              },
        +              "iso3": {
        +                "type": "string"
        +              },
        +              "matched": {
        +                "description": "The name or code that matched.",
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "score": {
        +                "maximum": 1,
        +                "minimum": 0,
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "iso2",
        +              "score"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "query": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "query",
        +        "matches"
        +      ],
        +      "title": "Result",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
        +      "properties": {
        +        "detail": {
        +          "type": "string"
        +        },
        +        "status": {
        +          "type": "integer"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "type": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "type",
        +        "title",
        +        "status"
        +      ],
        +      "title": "Error (problem details)",
        +      "type": "object"
        +    },
        +    {
        +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
        +      "properties": {
        +        "accepts": {
        +          "type": "array"
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "extensions": {
        +          "type": "object"
        +        },
        +        "resource": {
        +          "type": "object"
        +        },
        +        "x402Version": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "x402Version",
        +        "accepts"
        +      ],
        +      "title": "Error (x402 payment request)",
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
  4. 9 tool updates
    • First observedcheck_entry_requirements
    • First observedcheck_power_compatibility
    • First observedget_country_facts
    • First observedget_emergency_numbers
    • First observedget_public_holidays
    • First observedget_tipping_norms
    • First observedget_trip_brief
    • First observedlist_recent_changes
    • First observedresolve_country

Publisher details

Operator
Spanstream LLC · Publisher source
Vendor relationship
Unknown
Trust center
Not available
Restrictions
Unknown

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to retrieve and compare verified country facts such as VAT/GST, public holidays, visas, tipping, and minimum wages across 70 countries, with automatic x402 micropayments in USDC on Base per call.
    109 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to call 16 small, deterministic, read-only tools over a free, no-auth remote streamable HTTP MCP endpoint, covering business idea scoring, price headroom, hotel OTA commissions, open-source SaaS swaps, ads policy notice risk, App Store 4.2 prechecks, and Japan trip planning. Each tool is also exposed as a plain JSON API with OpenAPI docs.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    55+ pay-per-call tools for AI agents over MCP: live telemetry, blockchain/on-chain checks, environmental, transit, finance, and network utilities. No API key or signup — agents pay per request with x402 USDC micropayments (Base and Solana).
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources