changedOutput schema / (root)
Previous value: -{
- "additionalProperties": false,
- "properties": {
- "candidates": {
- "description": "Countries the evidence allows when it does not settle on one.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "citySource": {
- "additionalProperties": false,
- "description": "The cities read in the name and where we read their country.",
- "properties": {
- "cities": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "city": {
- "type": "string"
- },
- "iso2": {
- "type": "string"
- },
- "wikidata": {
- "type": "string"
- }
- },
- "required": [
- "city",
- "iso2",
- "wikidata"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "read": {
- "type": "string"
- },
- "source": {
- "type": "string"
- }
- },
- "required": [
- "source",
- "read",
- "cities"
- ],
- "type": "object"
- },
- "country": {
- "type": [
- "string",
- "null"
- ]
- },
- "covered": {
- "description": "True when the country is one we cover.",
- "type": "boolean"
- },
- "currentEntity": {
- "additionalProperties": false,
- "description": "What the employer is called now, read from official registers (the Global LEI Index, then a national register): renamed, merged, unchanged, ambiguous when several entities carry exactly that name, not_found, or unavailable when the register could not be read. Legal entities only, never people.",
- "properties": {
- "read": {
- "description": "The date we read the register.",
- "type": [
- "string",
- "null"
- ]
- },
- "source": {
- "description": "Publisher and register.",
- "type": [
- "string",
- "null"
- ]
- },
- "status": {
- "enum": [
- "renamed",
- "merged",
- "unchanged",
- "ambiguous",
- "not_found",
- "unavailable"
- ],
- "type": "string"
- },
- "steps": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "date": {
- "type": [
- "string",
- "null"
- ]
- },
- "from": {
- "type": "string"
- },
- "kind": {
- "type": "string"
- },
- "to": {
- "type": "string"
- }
- },
- "required": [
- "from",
- "to",
- "kind",
- "date"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "status",
- "text",
- "steps",
- "source",
- "read"
- ],
- "type": "object"
- },
- "evidence": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "countries": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "kind": {
- "enum": [
- "country",
- "recorded",
- "city",
- "nationality",
- "suffix"
- ],
- "type": "string"
- },
- "matched": {
- "type": "string"
- }
- },
- "required": [
- "kind",
- "matched",
- "countries"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "freeOfficialRoute": {
- "description": "The official free routes, first and never empty for a covered country: each official body or service with what it does (role), the scheme it covers, whether it works from abroad, and the website, email, phone and post we read on its own page with the date. Our report is only what we add on top.",
- "items": {
- "additionalProperties": false,
- "description": "An official body's contact details, read from its own page on the date given. email is null when the page publishes none; emailNote then says so and online gives the official service or form.",
- "properties": {
- "abroadOnly": {
- "description": "Present and true for a route that exists for people living OUTSIDE the country (e.g. the UK International Pension Centre); it is dropped for a person who resides in that country.",
- "type": "boolean"
- },
- "contactPage": {
- "type": [
- "string",
- "null"
- ]
- },
- "email": {
- "type": [
- "string",
- "null"
- ]
- },
- "emailNote": {
- "type": [
- "string",
- "null"
- ]
- },
- "fromAbroad": {
- "additionalProperties": false,
- "description": "Whether the route works for a person living abroad, as our directory or the body's own page records it, with the note behind it.",
- "properties": {
- "note": {
- "type": [
- "string",
- "null"
- ]
- },
- "verdict": {
- "enum": [
- "yes",
- "conditional",
- "mostly_in_country",
- "not_stated"
- ],
- "type": "string"
- }
- },
- "required": [
- "verdict",
- "note"
- ],
- "type": "object"
- },
- "hours": {
- "type": [
- "string",
- "null"
- ]
- },
- "id": {
- "type": "string"
- },
- "institution": {
- "type": "string"
- },
- "iso2": {
- "type": "string"
- },
- "online": {
- "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "name",
- "url"
- ],
- "type": [
- "object",
- "null"
- ]
- },
- "phone": {
- "type": [
- "string",
- "null"
- ]
- },
- "phoneFromAbroad": {
- "type": [
- "string",
- "null"
- ]
- },
- "post": {
- "type": [
- "string",
- "null"
- ]
- },
- "process": {
- "description": "What the route does: tracing, record or payment.",
- "items": {
- "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"
- },
- "type": "array"
- },
- "quote": {
- "type": [
- "string",
- "null"
- ]
- },
- "read": {
- "type": "string"
- },
- "role": {
- "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": {
- "type": "string"
- },
- "website": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "id",
- "iso2",
- "institution",
- "role",
- "website",
- "contactPage",
- "email",
- "emailNote",
- "phone",
- "phoneFromAbroad",
- "hours",
- "post",
- "online",
- "source",
- "read",
- "quote"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "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"
- },
- "lineage": {
- "description": "Sourced renames, sales and mergers of the employer, each from an official or company page with a verbatim quote and the date we read it. Never inferred from the name.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "iso2": {
- "type": "string"
- },
- "kind": {
- "enum": [
- "rename",
- "sale",
- "merger"
- ],
- "type": "string"
- },
- "newName": {
- "type": "string"
- },
- "oldName": {
- "type": "string"
- },
- "quote": {
- "type": "string"
- },
- "read": {
- "type": "string"
- },
- "since": {
- "type": "integer"
- },
- "source": {
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "oldName",
- "newName",
- "kind",
- "since",
- "iso2",
- "text",
- "source",
- "url",
- "quote",
- "read"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "localName": {
- "description": "The country name in the language served, from Unicode CLDR. Present only for a language other than English.",
- "type": "string"
- },
- "matches": {
- "description": "Employers we hold that the name may mean, best first, each with its confidence and the register facts it carries.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "confidence": {
- "type": "number"
- },
- "country": {
- "type": "string"
- },
- "employer": {
- "type": "string"
- },
- "facts": {
- "items": {
- "additionalProperties": false,
- "description": "A stored fact with the source it came from and the date we read that source. Null when we hold no sourced line.",
- "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"
- ]
- },
- "type": "array"
- },
- "from": {
- "enum": [
- "history",
- "directory"
- ],
- "type": "string"
- },
- "iso2": {
- "type": "string"
- },
- "lei": {
- "type": [
- "string",
- "null"
- ]
- },
- "page": {
- "type": [
- "string",
- "null"
- ]
- },
- "source": {
- "type": "string"
- }
- },
- "required": [
- "employer",
- "iso2",
- "country",
- "confidence",
- "from",
- "page",
- "lei",
- "facts",
- "source"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "name": {
- "type": "string"
- },
- "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"
- },
- "normalisedName": {
- "description": "The name as we compare it: no city, country, legal form, punctuation or case. The name sent is kept as sent.",
- "type": "string"
- },
- "reason": {
- "type": "string"
- },
- "resolved": {
- "type": "boolean"
- },
- "sample_report": {
- "description": "Our sample report, to read what a report holds before ordering.",
- "format": "uri",
- "type": "string"
- },
- "schemeRegister": {
- "additionalProperties": false,
- "description": "Where the employer's country lists occupational pension funds, or that it has no such public register. Null when the country is not settled.",
- "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"
- ]
- },
- "workplacePension": {
- "additionalProperties": false,
- "description": "For an employer we researched by hand: what the employer became and the workplace pension plan for its people, each fact with its source page, verbatim quote and read date, the plan's published contact, and our independence line. Identification only: a plan named here is not a statement that a given person is a member.",
- "properties": {
- "caveat": {
- "type": "string"
- },
- "confidence": {
- "description": "How closely the name sent matches this employer, 0 to 1.",
- "type": "number"
- },
- "employer": {
- "type": "string"
- },
- "history": {
- "items": {
- "additionalProperties": false,
- "description": "A fact with its source, the page it was read on, the words on that page and the date we read it.",
- "properties": {
- "quote": {
- "description": "Verbatim words from the source.",
- "type": "string"
- },
- "read": {
- "type": "string"
- },
- "source": {
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "text",
- "source",
- "read"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "schemes": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "contact": {
- "additionalProperties": false,
- "properties": {
- "email": {
- "type": [
- "string",
- "null"
- ]
- },
- "hours": {
- "type": [
- "string",
- "null"
- ]
- },
- "phone": {
- "type": [
- "string",
- "null"
- ]
- },
- "post": {
- "type": [
- "string",
- "null"
- ]
- },
- "quote": {
- "type": "string"
- },
- "read": {
- "type": "string"
- },
- "role": {
- "type": "string"
- },
- "sourceUrl": {
- "type": "string"
- }
- },
- "required": [
- "role",
- "email",
- "phone",
- "post",
- "hours",
- "sourceUrl",
- "read",
- "quote"
- ],
- "type": [
- "object",
- "null"
- ]
- },
- "facts": {
- "items": {
- "additionalProperties": false,
- "description": "A fact with its source, the page it was read on, the words on that page and the date we read it.",
- "properties": {
- "quote": {
- "description": "Verbatim words from the source.",
- "type": "string"
- },
- "read": {
- "type": "string"
- },
- "source": {
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "text",
- "source",
- "read"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "independence": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "registrationNumber": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "name",
- "registrationNumber",
- "facts",
- "contact",
- "independence"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "employer",
- "confidence",
- "history",
- "schemes",
- "caveat"
- ],
- "type": "object"
- }
- },
- "required": [
- "name",
- "resolved",
- "country",
- "iso2",
- "covered",
- "candidates",
- "evidence",
- "reason",
- "currentEntity",
- "schemeRegister"
- ],
- "type": "object"
-}New value: +null