{"openapi":"3.1.0","info":{"title":"GoodbyeMatrix Residency & Citizenship Index: read API for AI assistants","version":"1.0.0","summary":"Aufenthaltsprogramme, Staatsbuergerschaft durch Investition, Laender und Glossar aus der GoodbyeMatrix-Wissensdatenbank, nur lesend / residency programmes, citizenship by investment, countries and glossary from the GoodbyeMatrix knowledge base, read-only","description":"DE: 179 oeffentliche Aufenthaltsprogramme in 81 Laendern (Golden Visa, Digital-Nomaden-Visum, Aufenthalt fuer finanziell Unabhaengige, Investoren- und Unternehmervisum, Fachkraefte- und Talentvisum), 20 Programme fuer Staatsbuergerschaft durch Investition (9 davon mit Rechner, die uebrigen auf Anfrage, demnaechst oder geschlossen, wie auf der Website), 201 Laender mit Steuersystem und ein Glossar mit 127 Begriffen (121 davon mit englischer Definition). Dieselben Daten wie die fuenf Lesewerkzeuge des MCP-Servers https://ai.goodbyematrix.com/cbi/api/agent/v1/residency-index/mcp, per GET fuer Assistenten ohne MCP. Antworten tragen stand (Datum der Quelle) und notice (allgemeine Informationen, keine Rechts- oder Steuerberatung). Stand: Aufenthaltsprogramme 2026-10-21, CBI-Programme 2026-10-18, Laender 2026-11-06, Glossar 2026-10-20.\n\nEN: 179 public residency programmes in 81 countries (golden visa, digital nomad visa, independent means visa, investor and entrepreneur visa, skilled worker and talent visa), 20 citizenship by investment programmes (9 of them with a cost calculator, the others on request, coming soon or closed, as on the website), 201 countries with their tax system and a glossary of 127 terms (121 of them with an English definition). The same data as the five read tools of the MCP server https://ai.goodbyematrix.com/cbi/api/agent/v1/residency-index/mcp, via GET for assistants without MCP. Responses carry stand (date of the source) and notice (general information, not legal or tax advice). Data status: residency programmes 2026-10-21, CBI programmes 2026-10-18, countries 2026-11-06, glossary 2026-10-20.\n\nKosten / costs: https://ai.goodbyematrix.com/cbi/api/agent/v1/quote (Preis-API, Anleitung / pricing API, guide https://ai.goodbyematrix.com/cbi/api/agent/v1/docs).","contact":{"name":"GoodbyeMatrix","url":"https://goodbyematrix.com/beratung/"},"termsOfService":"https://goodbyematrix.com/imp/"},"externalDocs":{"description":"Anleitung (HTML mit Deutsch und Englisch; ?format=text&language=de oder en liefert den Text in einer Sprache, Standard en) / guide (HTML with German and English; ?format=text&language=de or en returns the text in one language, default en)","url":"https://ai.goodbyematrix.com/cbi/api/agent/v1/residency-index/docs"},"x-mcp":{"title":"GoodbyeMatrix Residency & Citizenship Index","url":"https://ai.goodbyematrix.com/cbi/api/agent/v1/residency-index/mcp","transport":"streamable-http","auth":"none","tools":["search_programs","get_program","compare_programs","get_country_overview","explain_term","get_cbi_quote","list_cbi_programs","request_cost_breakdown_link","request_consultation_link"]},"x-gbm-facts":{"residencyPrograms":179,"residencyCountries":81,"cbiPrograms":20,"cbiWithCalculator":9,"countries":203,"countriesWithTaxSystem":201,"glossaryTerms":127,"glossaryTermsEn":121,"stands":{"residency":"2026-10-21","cbi":"2026-10-18","countries":"2026-11-06","glossary":"2026-10-20"},"stand":"2026-11-06"},"servers":[{"url":"https://ai.goodbyematrix.com"}],"paths":{"/cbi/api/agent/v1/residency-index/programs":{"get":{"operationId":"indexPrograms","summary":"Gesamtliste oder Suche (search_programs) / full list or search (search_programs)","description":"Ohne Filter die kompakte Gesamtliste aller oeffentlichen Programme; mit mindestens einem Filter eine Seite der Treffer (total, offset, limit, nextOffset). / Without filters the compact list of all public programmes; with at least one filter a page of matches (total, offset, limit, nextOffset). Beispiel / example: https://ai.goodbyematrix.com/cbi/api/agent/v1/residency-index/programs?country=PT&language=en","parameters":[{"name":"query","in":"query","required":false,"description":"Woerter aus Programmname, Land oder Programmtyp / words of a programme name, country or programme type","schema":{"type":"string","minLength":2,"maxLength":120}},{"name":"country","in":"query","required":false,"description":"ISO-2 oder Name DE/EN / ISO-2 or name DE/EN","schema":{"type":"string","minLength":2,"maxLength":80},"example":"PT"},{"name":"region","in":"query","required":false,"schema":{"type":"string","enum":["europe","americas","asia","africa","middle_east","oceania"]}},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["citizenship_by_investment","residence_by_investment","digital_nomad","independent_means","active_investor","skilled_work"]}},{"name":"tax","in":"query","required":false,"description":"Steuersystem des Landes / tax system of the country","schema":{"type":"string","enum":["residence_based","territorial","no_tax","remittance","citizenship_based"]}},{"name":"max_budget_usd","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":100000000}},{"name":"citizenship_path","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"dual_citizenship_allowed","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10,"default":10}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":100000,"default":0}},{"name":"language","in":"query","required":false,"description":"Antwortsprache / response language","schema":{"type":"string","enum":["de","en"],"default":"en"}},{"name":"format","in":"query","required":false,"description":"json (Standard) oder text: kurze Textfassung zum Zitieren / json (default) or text: short version to quote","schema":{"type":"string","enum":["json","text"],"default":"json"}},{"name":"source","in":"query","required":false,"description":"Kanal-Kennzeichen nur fuer die Statistik, ohne Wirkung auf die Antwort / channel marker for statistics only, no effect on the response","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"Liste oder Suchseite / list or search page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramsResponse"}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"invalid_language, invalid_format oder ein ungueltiger Parameter (error nennt ihn) / invalid_language, invalid_format or an invalid parameter (error names it)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited: 120 Aufrufe pro Minute je Adresse (IPv6 je /56); ChatGPT, Claude und Perplexity, erkannt an ihren veroeffentlichten Adressen, teilen sich stattdessen einen Topf je Plattform: 1.200 pro Minute und 60.000 pro Tag / 120 calls per minute per address (IPv6 per /56); ChatGPT, Claude and Perplexity, recognised by their published addresses, share one allowance per platform instead: 1,200 per minute and 60,000 per day. Header retry-after.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"temporarily_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cbi/api/agent/v1/residency-index/programs/{id}":{"get":{"operationId":"indexProgram","summary":"Ein Programm im Detail (get_program) / one programme in detail (get_program)","parameters":[{"name":"id","in":"path","required":true,"description":"Kennung aus programs oder Programmname / id from programs or programme name","schema":{"type":"string","minLength":2,"maxLength":120},"example":"portugal__portugal_golden_visa"},{"name":"language","in":"query","required":false,"description":"Antwortsprache / response language","schema":{"type":"string","enum":["de","en"],"default":"en"}},{"name":"format","in":"query","required":false,"description":"json (Standard) oder text: kurze Textfassung zum Zitieren / json (default) or text: short version to quote","schema":{"type":"string","enum":["json","text"],"default":"json"}},{"name":"source","in":"query","required":false,"description":"Kanal-Kennzeichen nur fuer die Statistik, ohne Wirkung auf die Antwort / channel marker for statistics only, no effect on the response","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"Programm oder Kandidatenliste / programme or candidate list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramResponse"}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"invalid_language, invalid_format oder ein ungueltiger Parameter (error nennt ihn) / invalid_language, invalid_format or an invalid parameter (error names it)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_program","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited: 120 Aufrufe pro Minute je Adresse (IPv6 je /56); ChatGPT, Claude und Perplexity, erkannt an ihren veroeffentlichten Adressen, teilen sich stattdessen einen Topf je Plattform: 1.200 pro Minute und 60.000 pro Tag / 120 calls per minute per address (IPv6 per /56); ChatGPT, Claude and Perplexity, recognised by their published addresses, share one allowance per platform instead: 1,200 per minute and 60,000 per day. Header retry-after.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"temporarily_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cbi/api/agent/v1/residency-index/compare":{"get":{"operationId":"indexCompare","summary":"2 bis 5 Programme nebeneinander (compare_programs) / side by side","parameters":[{"name":"ids","in":"query","required":true,"description":"Kennungen durch Komma getrennt / ids separated by commas","schema":{"type":"string","minLength":5,"maxLength":605},"example":"portugal__portugal_golden_visa,greece__greece_golden_visa"},{"name":"language","in":"query","required":false,"description":"Antwortsprache / response language","schema":{"type":"string","enum":["de","en"],"default":"en"}},{"name":"format","in":"query","required":false,"description":"json (Standard) oder text: kurze Textfassung zum Zitieren / json (default) or text: short version to quote","schema":{"type":"string","enum":["json","text"],"default":"json"}},{"name":"source","in":"query","required":false,"description":"Kanal-Kennzeichen nur fuer die Statistik, ohne Wirkung auf die Antwort / channel marker for statistics only, no effect on the response","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"Vergleich / comparison","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareResponse"}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"invalid_language, invalid_format oder ein ungueltiger Parameter (error nennt ihn) / invalid_language, invalid_format or an invalid parameter (error names it)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_program","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited: 120 Aufrufe pro Minute je Adresse (IPv6 je /56); ChatGPT, Claude und Perplexity, erkannt an ihren veroeffentlichten Adressen, teilen sich stattdessen einen Topf je Plattform: 1.200 pro Minute und 60.000 pro Tag / 120 calls per minute per address (IPv6 per /56); ChatGPT, Claude and Perplexity, recognised by their published addresses, share one allowance per platform instead: 1,200 per minute and 60,000 per day. Header retry-after.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"temporarily_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cbi/api/agent/v1/residency-index/countries/{country}":{"get":{"operationId":"indexCountry","summary":"Land im Ueberblick (get_country_overview) / country overview (get_country_overview)","parameters":[{"name":"country","in":"path","required":true,"description":"ISO-2 oder Name DE/EN / ISO-2 or name DE/EN","schema":{"type":"string","minLength":2,"maxLength":80},"example":"PT"},{"name":"language","in":"query","required":false,"description":"Antwortsprache / response language","schema":{"type":"string","enum":["de","en"],"default":"en"}},{"name":"format","in":"query","required":false,"description":"json (Standard) oder text: kurze Textfassung zum Zitieren / json (default) or text: short version to quote","schema":{"type":"string","enum":["json","text"],"default":"json"}},{"name":"source","in":"query","required":false,"description":"Kanal-Kennzeichen nur fuer die Statistik, ohne Wirkung auf die Antwort / channel marker for statistics only, no effect on the response","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"Land / country","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountryResponse"}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"invalid_language, invalid_format oder ein ungueltiger Parameter (error nennt ihn) / invalid_language, invalid_format or an invalid parameter (error names it)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_country","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited: 120 Aufrufe pro Minute je Adresse (IPv6 je /56); ChatGPT, Claude und Perplexity, erkannt an ihren veroeffentlichten Adressen, teilen sich stattdessen einen Topf je Plattform: 1.200 pro Minute und 60.000 pro Tag / 120 calls per minute per address (IPv6 per /56); ChatGPT, Claude and Perplexity, recognised by their published addresses, share one allowance per platform instead: 1,200 per minute and 60,000 per day. Header retry-after.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"temporarily_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cbi/api/agent/v1/residency-index/glossary":{"get":{"operationId":"indexGlossary","summary":"Alle Glossar-Begriffe / all glossary terms","parameters":[{"name":"language","in":"query","required":false,"description":"Antwortsprache / response language","schema":{"type":"string","enum":["de","en"],"default":"en"}},{"name":"format","in":"query","required":false,"description":"json (Standard) oder text: kurze Textfassung zum Zitieren / json (default) or text: short version to quote","schema":{"type":"string","enum":["json","text"],"default":"json"}},{"name":"source","in":"query","required":false,"description":"Kanal-Kennzeichen nur fuer die Statistik, ohne Wirkung auf die Antwort / channel marker for statistics only, no effect on the response","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"Begriffe / terms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlossaryResponse"}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"invalid_language, invalid_format oder ein ungueltiger Parameter (error nennt ihn) / invalid_language, invalid_format or an invalid parameter (error names it)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited: 120 Aufrufe pro Minute je Adresse (IPv6 je /56); ChatGPT, Claude und Perplexity, erkannt an ihren veroeffentlichten Adressen, teilen sich stattdessen einen Topf je Plattform: 1.200 pro Minute und 60.000 pro Tag / 120 calls per minute per address (IPv6 per /56); ChatGPT, Claude and Perplexity, recognised by their published addresses, share one allowance per platform instead: 1,200 per minute and 60,000 per day. Header retry-after.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"temporarily_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cbi/api/agent/v1/residency-index/glossary/{term}":{"get":{"operationId":"indexTerm","summary":"Ein Begriff erklaert (explain_term) / one term explained (explain_term)","parameters":[{"name":"term","in":"path","required":true,"description":"Begriff DE/EN / term DE/EN","schema":{"type":"string","minLength":2,"maxLength":120},"example":"golden visa"},{"name":"language","in":"query","required":false,"description":"Antwortsprache / response language","schema":{"type":"string","enum":["de","en"],"default":"en"}},{"name":"format","in":"query","required":false,"description":"json (Standard) oder text: kurze Textfassung zum Zitieren / json (default) or text: short version to quote","schema":{"type":"string","enum":["json","text"],"default":"json"}},{"name":"source","in":"query","required":false,"description":"Kanal-Kennzeichen nur fuer die Statistik, ohne Wirkung auf die Antwort / channel marker for statistics only, no effect on the response","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"Begriff (found true) oder aehnliche Begriffe (found false) / term (found true) or similar terms (found false)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TermResponse"}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"invalid_language, invalid_format oder ein ungueltiger Parameter (error nennt ihn) / invalid_language, invalid_format or an invalid parameter (error names it)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited: 120 Aufrufe pro Minute je Adresse (IPv6 je /56); ChatGPT, Claude und Perplexity, erkannt an ihren veroeffentlichten Adressen, teilen sich stattdessen einen Topf je Plattform: 1.200 pro Minute und 60.000 pro Tag / 120 calls per minute per address (IPv6 per /56); ChatGPT, Claude and Perplexity, recognised by their published addresses, share one allowance per platform instead: 1,200 per minute and 60,000 per day. Header retry-after.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"temporarily_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cbi/api/agent/v1/residency-index/docs":{"get":{"operationId":"indexDocs","summary":"Anleitung / guide","parameters":[{"name":"language","in":"query","required":false,"description":"Antwortsprache / response language","schema":{"type":"string","enum":["de","en"],"default":"en"}},{"name":"format","in":"query","required":false,"description":"json (Standard) oder text: kurze Textfassung zum Zitieren / json (default) or text: short version to quote","schema":{"type":"string","enum":["json","text"],"default":"json"}},{"name":"source","in":"query","required":false,"description":"Kanal-Kennzeichen nur fuer die Statistik, ohne Wirkung auf die Antwort / channel marker for statistics only, no effect on the response","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"HTML mit Deutsch und Englisch, oder bei format=text (auch Accept text/plain) Text in der Sprache language (Standard en) / HTML with German and English, or with format=text (also Accept text/plain) text in the language given by language (default en)","content":{"text/html":{"schema":{"type":"string"}},"text/plain":{"schema":{"type":"string"}}}},"429":{"description":"rate_limited: 120 Aufrufe pro Minute je Adresse (IPv6 je /56); ChatGPT, Claude und Perplexity, erkannt an ihren veroeffentlichten Adressen, teilen sich stattdessen einen Topf je Plattform: 1.200 pro Minute und 60.000 pro Tag / 120 calls per minute per address (IPv6 per /56); ChatGPT, Claude and Perplexity, recognised by their published addresses, share one allowance per platform instead: 1,200 per minute and 60,000 per day. Header retry-after.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cbi/api/agent/v1/residency-index/openapi.json":{"get":{"operationId":"indexOpenApi","summary":"Diese Beschreibung / this description","parameters":[{"name":"source","in":"query","required":false,"description":"Kanal-Kennzeichen nur fuer die Statistik, ohne Wirkung auf die Antwort / channel marker for statistics only, no effect on the response","schema":{"type":"string","maxLength":20}}],"responses":{"200":{"description":"OpenAPI 3.1","content":{"application/json":{"schema":{"type":"object"}}}},"429":{"description":"rate_limited: 120 Aufrufe pro Minute je Adresse (IPv6 je /56); ChatGPT, Claude und Perplexity, erkannt an ihren veroeffentlichten Adressen, teilen sich stattdessen einen Topf je Plattform: 1.200 pro Minute und 60.000 pro Tag / 120 calls per minute per address (IPv6 per /56); ChatGPT, Claude and Perplexity, recognised by their published addresses, share one allowance per platform instead: 1,200 per minute and 60,000 per day. Header retry-after.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["ok","error","message"],"properties":{"ok":{"type":"boolean","const":false},"schema":{"type":"string"},"error":{"type":"string","enum":["not_found","method_not_allowed","invalid_language","invalid_format","invalid_id","invalid_ids","invalid_country","invalid_term","invalid_query","invalid_limit","invalid_offset","invalid_filter","invalid_arguments","unknown_program","unknown_country","rate_limited","daily_capacity_reached","temporarily_blocked","busy","temporarily_unavailable"]},"message":{"type":"object","properties":{"de":{"type":"string"},"en":{"type":"string"}}},"detail":{"type":"string","description":"Genauer Grund auf Englisch, wenn vorhanden / exact reason in English, when available"}}},"Localized":{"type":"object","properties":{"de":{"type":["string","null"]},"en":{"type":["string","null"]}}},"Base":{"type":"object","required":["ok","schema","tool","language","stand","notice"],"properties":{"ok":{"type":"boolean","const":true},"schema":{"type":"string","const":"gbm.residency_index.v1"},"tool":{"type":"string"},"language":{"type":"string","enum":["de","en"]},"stand":{"type":["string","null"],"description":"Datum der Quelle / date of the source (YYYY-MM-DD)"},"notice":{"type":"string"}}},"ProgramSummary":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["citizenship_by_investment","residence_by_investment","digital_nomad","independent_means","active_investor","skilled_work"]},"typeLabel":{"type":"string"},"country":{"type":"object","properties":{"code":{"type":["string","null"]},"name":{"type":["string","null"]}}},"region":{"type":["string","null"]},"minimumAmount":{"type":["string","null"]},"incomeRequirement":{"type":"string"},"betragsart":{"type":["string","null"],"description":"nur Aufenthalt / residency only: Art des Kachelbetrags / kind of the headline amount: immobilie, bankeinlage, anleihen_fonds, unternehmen, investition, staatsbeitrag, mitgliedschaft, gebuehr, mindeststeuer, vermoegen, einkommen; null = nicht gesetzt / not set"},"betragsHauptart":{"type":["string","null"],"description":"nur Aufenthalt / residency only: kapital_angelegt (Kapital angelegt / capital invested), zahlung (Zahlung / payment), nachweis (Nachweis / proof); null = nicht gesetzt / not set"},"minInvestmentUsd":{"type":["number","null"]},"presence":{"type":["string","null"]},"citizenshipPath":{"type":["boolean","null"]},"dualCitizenship":{"type":["string","null"]},"availability":{"type":"string","description":"nur CBI / CBI only: cost_calculator, on_request, coming_soon, closed"},"stand":{"type":["string","null"]},"pages":{"$ref":"#/components/schemas/Localized"}}},"ProgramsResponse":{"allOf":[{"$ref":"#/components/schemas/Base"},{"type":"object","required":["total","programs"],"properties":{"total":{"type":"integer"},"offset":{"type":"integer","description":"nur Suche / search only"},"limit":{"type":"integer","description":"nur Suche / search only"},"nextOffset":{"type":["integer","null"],"description":"nur Suche / search only"},"filters":{"type":"object","description":"nur Suche / search only"},"programs":{"type":"array","items":{"$ref":"#/components/schemas/ProgramSummary"}}}}]},"ProgramResponse":{"allOf":[{"$ref":"#/components/schemas/Base"},{"type":"object","required":["program","consultationNote"],"properties":{"program":{"type":["object","null"],"description":"null bei mehrdeutigem Namen (siehe candidates) / null when the name matches several programmes (see candidates)"},"candidates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"country":{"type":["string","null"]},"typeLabel":{"type":"string"}}}},"cbiQuoteNote":{"type":"string"},"consultationNote":{"type":"string"}}}]},"CompareResponse":{"allOf":[{"$ref":"#/components/schemas/Base"},{"type":"object","required":["programs","consultationNote"],"properties":{"programs":{"type":"array","items":{"$ref":"#/components/schemas/ProgramSummary"}},"consultationNote":{"type":"string"}}}]},"CountryResponse":{"allOf":[{"$ref":"#/components/schemas/Base"},{"type":"object","required":["country","residencyPrograms","cbiPrograms","consultationNote"],"properties":{"country":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}}},"region":{"type":["string","null"]},"regionLabel":{"type":["string","null"]},"taxSystem":{"type":["object","null"],"properties":{"key":{"type":"string","enum":["residence_based","territorial","no_tax","remittance","citizenship_based"]},"label":{"type":"string"}}},"residencyPrograms":{"type":"array","items":{"$ref":"#/components/schemas/ProgramSummary"}},"cbiPrograms":{"type":"array","items":{"$ref":"#/components/schemas/ProgramSummary"}},"climateMap":{"$ref":"#/components/schemas/Localized"},"consultationNote":{"type":"string"}}}]},"GlossaryResponse":{"allOf":[{"$ref":"#/components/schemas/Base"},{"type":"object","required":["total","terms"],"properties":{"total":{"type":"integer"},"glossaryPage":{"$ref":"#/components/schemas/Localized"},"terms":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"term":{"$ref":"#/components/schemas/Localized"},"definition":{"type":["object","null"],"properties":{"language":{"type":"string"},"text":{"type":"string"}}},"glossaryPage":{"$ref":"#/components/schemas/Localized"},"ownGlossaryPage":{"type":"boolean"}}}}}}]},"TermResponse":{"allOf":[{"$ref":"#/components/schemas/Base"},{"type":"object","required":["found"],"properties":{"found":{"type":"boolean"},"term":{"type":["object","null"],"properties":{"id":{"type":"string"},"de":{"type":"string"},"en":{"type":"string"}}},"definition":{"type":["object","null"],"properties":{"language":{"type":"string"},"text":{"type":"string"}}},"definitionNote":{"type":"string"},"glossaryPage":{"$ref":"#/components/schemas/Localized"},"glossaryPageNote":{"type":"string"},"related":{"type":"array","items":{"type":"object"}}}}]}}}}