changedOutput schema / (root)
Previous value: -{
- "additionalProperties": false,
- "properties": {
- "answers": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "answer": {
- "additionalProperties": false,
- "description": "The answer exactly as published, with the institution as source and the reply date as read date. Null when the passage gives a contact detail, which we publish only on the answers page.",
- "properties": {
- "read": {
- "description": "The date we read the source, for example 7 October 2026.",
- "type": "string"
- },
- "source": {
- "description": "The publisher or document the fact comes from.",
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "translated": {
- "additionalProperties": false,
- "description": "A translation of the fact above, present only when our committed table holds one for that exact text. The original text stays in text.",
- "properties": {
- "language": {
- "enum": [
- "en",
- "ar",
- "da",
- "de",
- "es",
- "fa",
- "fr",
- "hi",
- "id",
- "it",
- "ja",
- "ko",
- "nb",
- "nl",
- "pl",
- "pt",
- "pt-BR",
- "ro",
- "ru",
- "sv",
- "th",
- "tl",
- "tr",
- "zh",
- "vi",
- "uk",
- "bg"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "translation": {
- "enum": [
- true
- ],
- "type": "boolean"
- }
- },
- "required": [
- "language",
- "text",
- "translation"
- ],
- "type": "object"
- }
- },
- "required": [
- "text",
- "source",
- "read"
- ],
- "type": [
- "object",
- "null"
- ]
- },
- "date": {
- "description": "The date of the reply, as published.",
- "type": "string"
- },
- "institution": {
- "description": "The institution that replied. Never a person.",
- "type": "string"
- },
- "question": {
- "type": "string"
- },
- "questionAsPublished": {
- "description": "True when the question is worded as published on the answers page; false when it is our plain summary of what the passage answers.",
- "type": "boolean"
- },
- "questionKey": {
- "type": "string"
- },
- "translation": {
- "description": "Our English translation, exactly as published, where the answer is in another language or quotes the original. Ours, not the institution's.",
- "type": [
- "string",
- "null"
- ]
- },
- "url": {
- "description": "The answer on https://pensionhunter.ai/answers, with its anchor.",
- "format": "uri",
- "type": "string"
- },
- "withheld": {
- "description": "Why the passage is served only on the answers page, or null.",
- "type": [
- "string",
- "null"
- ]
- },
- "wording": {
- "enum": [
- "verbatim",
- "approved by the institution",
- "our translation",
- "our summary"
- ],
- "type": "string"
- },
- "wordingNote": {
- "type": "string"
- }
- },
- "required": [
- "institution",
- "questionKey",
- "question",
- "questionAsPublished",
- "answer",
- "translation",
- "wording",
- "wordingNote",
- "withheld",
- "date",
- "url"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "answersPage": {
- "description": "Our answers page, https://pensionhunter.ai/answers.",
- "format": "uri",
- "type": "string"
- },
- "askedInstitution": {
- "description": "The institution that letter went to. Never a person. Null when none.",
- "type": [
- "string",
- "null"
- ]
- },
- "askedOn": {
- "description": "ISO date of our most recent dated letter to the country, or null.",
- "type": [
- "string",
- "null"
- ]
- },
- "country": {
- "type": "string"
- },
- "iso2": {
- "type": [
- "string",
- "null"
- ]
- },
- "language": {
- "additionalProperties": false,
- "description": "Present when language was sent: the language served, its own name, and labels for source, read date, translation and original in that language. Our sentences in this result are translations of our own wording, review recommended.",
- "properties": {
- "facts": {
- "description": "In the served language: facts, numbers and dates are served exactly as stored.",
- "type": "string"
- },
- "labels": {
- "additionalProperties": false,
- "properties": {
- "original": {
- "type": "string"
- },
- "read": {
- "type": "string"
- },
- "source": {
- "type": "string"
- },
- "translation": {
- "type": "string"
- }
- },
- "required": [
- "source",
- "read",
- "translation",
- "original"
- ],
- "type": "object"
- },
- "name": {
- "type": "string"
- },
- "note": {
- "description": "Why the result is in English, when the language sent is not one we serve.",
- "type": [
- "string",
- "null"
- ]
- },
- "ourWording": {
- "description": "In the served language: these are translations of our own wording, review recommended.",
- "type": "string"
- },
- "requested": {
- "description": "The language as sent, when it reads as a language tag; empty otherwise.",
- "type": "string"
- },
- "served": {
- "enum": [
- "en",
- "ar",
- "da",
- "de",
- "es",
- "fa",
- "fr",
- "hi",
- "id",
- "it",
- "ja",
- "ko",
- "nb",
- "nl",
- "pl",
- "pt",
- "pt-BR",
- "ro",
- "ru",
- "sv",
- "th",
- "tl",
- "tr",
- "zh",
- "vi",
- "uk",
- "bg"
- ],
- "type": "string"
- },
- "supported": {
- "description": "False when the language sent is not one of ours; the result is then in English.",
- "type": "boolean"
- }
- },
- "required": [
- "requested",
- "served",
- "name",
- "supported",
- "note",
- "ourWording",
- "facts",
- "labels"
- ],
- "type": "object"
- },
- "localName": {
- "description": "The country name in the language served, from Unicode CLDR. Present only for a language other than English.",
- "type": "string"
- },
- "matched": {
- "description": "True when the question matched at least one published answer.",
- "type": "boolean"
- },
- "next_step": {
- "additionalProperties": false,
- "description": "What we add to the free official route, as one structured field built from the finding: one line to pass on, the pre-filled order link with a source tag, the tier, the country and the fee from our price config. Country tier for one or two likely countries; Global only when three or more countries are likely. Absent when the result found nothing in a country we research, or names only mapped countries.",
- "properties": {
- "compare": {
- "additionalProperties": false,
- "description": "For two likely countries: two Country reports against one Global report, both prices from our config. Global is best from 3 countries.",
- "properties": {
- "country_reports_usd": {
- "type": "integer"
- },
- "global_usd": {
- "type": "integer"
- },
- "reason": {
- "type": "string"
- },
- "recommended": {
- "enum": [
- "country"
- ],
- "type": "string"
- }
- },
- "required": [
- "country_reports_usd",
- "global_usd",
- "recommended",
- "reason"
- ],
- "type": "object"
- },
- "countries": {
- "description": "Every country the step covers, ISO codes.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "country": {
- "description": "ISO 3166 alpha-2 code of the country, or the first of them.",
- "type": "string"
- },
- "line": {
- "description": "One line to pass on to the person, with the fee.",
- "type": "string"
- },
- "order_url": {
- "description": "Our order page with tier and countries filled in and utm_source=connector, utm_medium=mcp, utm_campaign=<tool>. Never personal data.",
- "format": "uri",
- "type": "string"
- },
- "price_usd": {
- "description": "The fee in whole US dollars, from our price config.",
- "type": "integer"
- },
- "refund": {
- "description": "The refund promise, from our pricing config.",
- "type": "string"
- },
- "refund_url": {
- "description": "The page that defines the refund promise.",
- "format": "uri",
- "type": "string"
- },
- "tier": {
- "enum": [
- "country",
- "global"
- ],
- "type": "string"
- }
- },
- "required": [
- "line",
- "order_url",
- "tier",
- "country",
- "countries",
- "price_usd",
- "refund",
- "refund_url"
- ],
- "type": "object"
- },
- "note": {
- "type": "string"
- },
- "officialContact": {
- "additionalProperties": false,
- "description": "For a country we research: the official contact page of its free route, as a link. Contact details themselves are report content.",
- "properties": {
- "process": {
- "description": "What the fact is about: tracing (finding which scheme or fund holds it), record (seeing your record or forecast) or payment (applying for payment).",
- "enum": [
- "tracing",
- "record",
- "payment"
- ],
- "type": "string"
- },
- "read": {
- "description": "The date we read the source, for example 7 October 2026.",
- "type": "string"
- },
- "scheme": {
- "description": "The scheme the fact is about: state (state pension), workplace (workplace or occupational pension), provident (a national provident fund account) or personal (personal pension).",
- "items": {
- "enum": [
- "state",
- "workplace",
- "provident",
- "personal"
- ],
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "source": {
- "description": "The publisher or document the fact comes from.",
- "type": "string"
- },
- "sources": {
- "description": "The stored rows this sentence restates, each with the page it was read on, the words on that page and the date we read it.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "quote": {
- "description": "Verbatim words from the source.",
- "type": "string"
- },
- "read": {
- "type": "string"
- },
- "source": {
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "translated": {
- "additionalProperties": false,
- "description": "A translation of the fact above, present only when our committed table holds one for that exact text. The original text stays in text.",
- "properties": {
- "language": {
- "enum": [
- "en",
- "ar",
- "da",
- "de",
- "es",
- "fa",
- "fr",
- "hi",
- "id",
- "it",
- "ja",
- "ko",
- "nb",
- "nl",
- "pl",
- "pt",
- "pt-BR",
- "ro",
- "ru",
- "sv",
- "th",
- "tl",
- "tr",
- "zh",
- "vi",
- "uk",
- "bg"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "translation": {
- "enum": [
- true
- ],
- "type": "boolean"
- }
- },
- "required": [
- "language",
- "text",
- "translation"
- ],
- "type": "object"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "text",
- "source",
- "url",
- "read"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "text": {
- "type": "string"
- },
- "translated": {
- "additionalProperties": false,
- "description": "A translation of the fact above, present only when our committed table holds one for that exact text. The original text stays in text.",
- "properties": {
- "language": {
- "enum": [
- "en",
- "ar",
- "da",
- "de",
- "es",
- "fa",
- "fr",
- "hi",
- "id",
- "it",
- "ja",
- "ko",
- "nb",
- "nl",
- "pl",
- "pt",
- "pt-BR",
- "ro",
- "ru",
- "sv",
- "th",
- "tl",
- "tr",
- "zh",
- "vi",
- "uk",
- "bg"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "translation": {
- "enum": [
- true
- ],
- "type": "boolean"
- }
- },
- "required": [
- "language",
- "text",
- "translation"
- ],
- "type": "object"
- },
- "url": {
- "description": "The official contact page.",
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "text",
- "source",
- "read",
- "scheme"
- ],
- "type": [
- "object",
- "null"
- ]
- },
- "query": {
- "description": "The country string as sent.",
- "type": "string"
- },
- "question": {
- "description": "The question as sent.",
- "type": "string"
- },
- "questionKey": {
- "description": "The question topic matched.",
- "type": [
- "string",
- "null"
- ]
- },
- "questions": {
- "description": "When nothing matched: the questions we hold answers to for this country.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "institution": {
- "type": "string"
- },
- "question": {
- "type": "string"
- },
- "questionAsPublished": {
- "type": "boolean"
- },
- "questionKey": {
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "questionKey",
- "question",
- "questionAsPublished",
- "institution",
- "url"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "recognised": {
- "description": "False when the string is not a country we can read.",
- "type": "boolean"
- },
- "sample_report": {
- "description": "Our sample report, to read what a report holds before ordering.",
- "format": "uri",
- "type": "string"
- },
- "status": {
- "description": "Where our written questions to the country stand: answered when our answers page publishes an answer from an institution there; asked_no_answer_yet when asked on askedOn, no answer yet; asked_no_answer_published when asked on askedOn and the answer is not published; replied_no_answer_published when the institution replied and nothing is published; not_asked when no dated letter is on our record. Null when the country is not recognised.",
- "enum": [
- "answered",
- "asked_no_answer_yet",
- "asked_no_answer_published",
- "replied_no_answer_published",
- "not_asked",
- null
- ],
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "query",
- "question",
- "country",
- "iso2",
- "recognised",
- "matched",
- "status",
- "askedOn",
- "askedInstitution",
- "answers",
- "questions",
- "answersPage"
- ],
- "type": "object"
-}New value: +null