{"openapi":"3.1.0","info":{"title":"AXITAM Public API","description":"Reference data (ISO, CLDR), Belgian enterprises, annual accounts and addresses, Peppol participants - built on community-maintained and official sources. See the data-sources API for each source's version and license. Beta.","version":"0.10.0"},"servers":[{"url":"/","description":"This server"}],"tags":[{"name":"Country currencies","description":"Currencies currently legal tender in each country (source: Unicode CLDR). Historical currencies are not provided."},{"name":"Country languages","description":"Languages spoken in each country, with their official status and share of the population (source: Unicode CLDR)."},{"name":"Subdivisions","description":"ISO 3166-2 country subdivisions (source: iso-codes)."},{"name":"Countries","description":"ISO 3166-1 countries and their ISO 3166-2 subdivisions (source: iso-codes)."},{"name":"Former countries","description":"ISO 3166-3 countries removed from ISO 3166-1 (source: iso-codes). Identified by their alpha-4 code only: alpha-2 codes may since have been reassigned."}],"paths":{"/api/v1/subdivisions/{code}":{"get":{"tags":["Subdivisions"],"summary":"Read one subdivision","description":"By ISO 3166-2 code, case-insensitive.","operationId":"findByCode","parameters":[{"name":"code","in":"path","description":"ISO 3166-2 code","required":true,"schema":{"type":"string","pattern":"^[A-Za-z]{2}-[A-Za-z0-9]{1,3}$"},"example":"BE-VLG"},{"name":"lang","in":"query","description":"Language of the returned names: a language code optionally followed by a region, script or gettext modifier (fr, fr-BE, pt-BR, zh-Hant, sr@latin). Falls back to the bare language (fr-BE -> fr), then to English, field by field. Omitted: English.","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})?(@[A-Za-z]{1,20})?$"},"example":"fr"}],"responses":{"200":{"description":"Subdivision found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SubdivisionResponse"}}}},"400":{"description":"Invalid code or lang (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No subdivision has this code (code SUBDIVISION_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The X-API-Key header carries an unknown, revoked or malformed key (code INVALID_API_KEY). Leave the header out to call anonymously.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests from this client: the code is RATE_LIMITED, Retry-After says in how many seconds a request will pass again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Sustained requests per second allowed on this path","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests left in the current burst","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{},{"apiKey":[]}]}},"/api/v1/former-countries":{"get":{"tags":["Former countries"],"summary":"List every former country","description":"Ordered by alpha-4 code.","operationId":"findAll","parameters":[{"name":"lang","in":"query","description":"Language of the returned names: a language code optionally followed by a region, script or gettext modifier (fr, fr-BE, pt-BR, zh-Hant, sr@latin). Falls back to the bare language (fr-BE -> fr), then to English, field by field. Omitted: English.","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})?(@[A-Za-z]{1,20})?$"},"example":"fr"}],"responses":{"200":{"description":"Every former country","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormerCountryResponse"}}}}},"400":{"description":"Invalid lang (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The X-API-Key header carries an unknown, revoked or malformed key (code INVALID_API_KEY). Leave the header out to call anonymously.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests from this client: the code is RATE_LIMITED, Retry-After says in how many seconds a request will pass again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Sustained requests per second allowed on this path","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests left in the current burst","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{},{"apiKey":[]}]}},"/api/v1/former-countries/{code}":{"get":{"tags":["Former countries"],"summary":"Read one former country","description":"By alpha-4 code, case-insensitive.","operationId":"findByCode_1","parameters":[{"name":"code","in":"path","description":"ISO 3166-3 alpha-4 code","required":true,"schema":{"type":"string","pattern":"^[A-Za-z]{4}$"},"example":"YUCS"},{"name":"lang","in":"query","description":"Language of the returned names: a language code optionally followed by a region, script or gettext modifier (fr, fr-BE, pt-BR, zh-Hant, sr@latin). Falls back to the bare language (fr-BE -> fr), then to English, field by field. Omitted: English.","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})?(@[A-Za-z]{1,20})?$"},"example":"fr"}],"responses":{"200":{"description":"Former country found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FormerCountryResponse"}}}},"400":{"description":"Invalid code or lang (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No former country has this code (code FORMER_COUNTRY_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The X-API-Key header carries an unknown, revoked or malformed key (code INVALID_API_KEY). Leave the header out to call anonymously.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests from this client: the code is RATE_LIMITED, Retry-After says in how many seconds a request will pass again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Sustained requests per second allowed on this path","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests left in the current burst","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{},{"apiKey":[]}]}},"/api/v1/countries":{"get":{"tags":["Countries"],"summary":"List every country","description":"Ordered by alpha-2 code.","operationId":"findAll_1","parameters":[{"name":"lang","in":"query","description":"Language of the returned names: a language code optionally followed by a region, script or gettext modifier (fr, fr-BE, pt-BR, zh-Hant, sr@latin). Falls back to the bare language (fr-BE -> fr), then to English, field by field. Omitted: English.","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})?(@[A-Za-z]{1,20})?$"},"example":"fr"}],"responses":{"200":{"description":"Every country","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CountryResponse"}}}}},"400":{"description":"Invalid lang (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The X-API-Key header carries an unknown, revoked or malformed key (code INVALID_API_KEY). Leave the header out to call anonymously.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests from this client: the code is RATE_LIMITED, Retry-After says in how many seconds a request will pass again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Sustained requests per second allowed on this path","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests left in the current burst","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{},{"apiKey":[]}]}},"/api/v1/countries/{code}":{"get":{"tags":["Countries"],"summary":"Read one country","description":"By alpha-2 or alpha-3 code, case-insensitive.","operationId":"findByCode_2","parameters":[{"name":"code","in":"path","description":"Alpha-2 or alpha-3 code","required":true,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}$"},"example":"BE"},{"name":"lang","in":"query","description":"Language of the returned names: a language code optionally followed by a region, script or gettext modifier (fr, fr-BE, pt-BR, zh-Hant, sr@latin). Falls back to the bare language (fr-BE -> fr), then to English, field by field. Omitted: English.","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})?(@[A-Za-z]{1,20})?$"},"example":"fr"}],"responses":{"200":{"description":"Country found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountryResponse"}}}},"400":{"description":"Invalid code or lang (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No country has this code (code COUNTRY_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The X-API-Key header carries an unknown, revoked or malformed key (code INVALID_API_KEY). Leave the header out to call anonymously.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests from this client: the code is RATE_LIMITED, Retry-After says in how many seconds a request will pass again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Sustained requests per second allowed on this path","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests left in the current burst","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{},{"apiKey":[]}]}},"/api/v1/countries/{code}/subdivisions":{"get":{"tags":["Countries"],"summary":"List the subdivisions of a country","description":"Ordered by code. An existing country without subdivisions of the requested type returns an empty list.","operationId":"findSubdivisions","parameters":[{"name":"code","in":"path","description":"Alpha-2 or alpha-3 code of the country","required":true,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}$"},"example":"BE"},{"name":"type","in":"query","description":"Keep only this ISO 3166-2 subdivision type (English, case-insensitive)","required":false,"schema":{"type":"string","maxLength":50,"minLength":1},"example":"Province"},{"name":"lang","in":"query","description":"Language of the returned names: a language code optionally followed by a region, script or gettext modifier (fr, fr-BE, pt-BR, zh-Hant, sr@latin). Falls back to the bare language (fr-BE -> fr), then to English, field by field. Omitted: English.","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})?(@[A-Za-z]{1,20})?$"},"example":"fr"}],"responses":{"200":{"description":"The country's subdivisions","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubdivisionResponse"}}}}},"400":{"description":"Invalid code, type or lang (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No country has this code (code COUNTRY_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The X-API-Key header carries an unknown, revoked or malformed key (code INVALID_API_KEY). Leave the header out to call anonymously.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests from this client: the code is RATE_LIMITED, Retry-After says in how many seconds a request will pass again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Sustained requests per second allowed on this path","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests left in the current burst","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{},{"apiKey":[]}]}},"/api/v1/countries/{code}/languages":{"get":{"tags":["Country languages"],"summary":"List the languages of a country","description":"Most spoken first. official=true keeps only languages with an official status (official, official_regional or de_facto_official).","operationId":"findLanguagesOfCountry","parameters":[{"name":"code","in":"path","description":"Alpha-2 or alpha-3 country code","required":true,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}$"},"example":"BE"},{"name":"official","in":"query","description":"true: only languages with an official status","required":false,"schema":{"type":"boolean","default":false}},{"name":"lang","in":"query","description":"Language of the returned names: a language code optionally followed by a region, script or gettext modifier (fr, fr-BE, pt-BR, zh-Hant, sr@latin). Falls back to the bare language (fr-BE -> fr), then to English, field by field. Omitted: English.","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})?(@[A-Za-z]{1,20})?$"},"example":"fr"}],"responses":{"200":{"description":"The country's languages, possibly none","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LanguageOfCountryResponse"}}}}},"400":{"description":"Invalid code, official or lang (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No country has this code (code COUNTRY_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The X-API-Key header carries an unknown, revoked or malformed key (code INVALID_API_KEY). Leave the header out to call anonymously.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests from this client: the code is RATE_LIMITED, Retry-After says in how many seconds a request will pass again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Sustained requests per second allowed on this path","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests left in the current burst","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{},{"apiKey":[]}]}},"/api/v1/countries/{code}/currencies":{"get":{"tags":["Country currencies"],"summary":"List the currencies of a country","description":"Currencies currently legal tender in the country, oldest first (Panama: PAB and USD).","operationId":"findCurrenciesOfCountry","parameters":[{"name":"code","in":"path","description":"Alpha-2 or alpha-3 country code","required":true,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}$"},"example":"BE"},{"name":"lang","in":"query","description":"Language of the returned names: a language code optionally followed by a region, script or gettext modifier (fr, fr-BE, pt-BR, zh-Hant, sr@latin). Falls back to the bare language (fr-BE -> fr), then to English, field by field. Omitted: English.","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})?(@[A-Za-z]{1,20})?$"},"example":"fr"}],"responses":{"200":{"description":"The country's currencies, possibly none","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CurrencyOfCountryResponse"}}}}},"400":{"description":"Invalid code or lang (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No country has this code (code COUNTRY_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The X-API-Key header carries an unknown, revoked or malformed key (code INVALID_API_KEY). Leave the header out to call anonymously.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests from this client: the code is RATE_LIMITED, Retry-After says in how many seconds a request will pass again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Sustained requests per second allowed on this path","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests left in the current burst","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{},{"apiKey":[]}]}}},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"correlationId":{"type":"string"}}},"SubdivisionResponse":{"type":"object","description":"An ISO 3166-2 country subdivision","properties":{"code":{"type":"string","description":"ISO 3166-2 code","example":"BE-VAN"},"countryAlpha2":{"type":"string","description":"Alpha-2 code of the owning country","example":"BE"},"parentCode":{"type":["string","null"],"description":"Code of the parent subdivision; absent for a top-level subdivision","example":"BE-VLG"},"name":{"type":"string","description":"Name, localized when a translation exists","example":"Anvers"},"type":{"type":"string","description":"Subdivision type as named by ISO 3166-2 (English, never translated)","example":"Province"}}},"FormerCountryResponse":{"type":"object","description":"An ISO 3166-3 former country","properties":{"alpha4":{"type":"string","description":"ISO 3166-3 alpha-4 code, the only unique identifier","example":"YUCS"},"alpha2":{"type":"string","description":"Alpha-2 code it used; may be shared with other former or current countries","example":"YU"},"alpha3":{"type":"string","description":"Alpha-3 code it used","example":"YUG"},"numeric":{"type":["string","null"],"description":"Numeric code it used; absent when it had none","example":"891"},"name":{"type":"string","description":"Name, localized when a translation exists","example":"Yougoslavie, République fédérale (socialiste) de"},"comment":{"type":["string","null"],"description":"Upstream note, in English (never translated); absent when none"},"withdrawalDate":{"type":"string","description":"Withdrawal date written with its precision: YYYY, YYYY-MM or YYYY-MM-DD","example":"2003-07-23"},"withdrawalDatePrecision":{"type":"string","description":"How much of the withdrawal date the standard states","enum":["year","month","day"],"example":"day"}}},"CountryResponse":{"type":"object","description":"An ISO 3166-1 country","properties":{"alpha2":{"type":"string","description":"ISO 3166-1 alpha-2 code","example":"BE"},"alpha3":{"type":"string","description":"ISO 3166-1 alpha-3 code","example":"BEL"},"numeric":{"type":"string","description":"ISO 3166-1 numeric code, leading zeros kept","example":"056"},"name":{"type":"string","description":"Short name, localized when a translation exists","example":"Belgique"},"officialName":{"type":["string","null"],"description":"Official name, localized when a translation exists; absent when the standard defines none","example":"Royaume de Belgique"},"commonName":{"type":["string","null"],"description":"Commonly used name; absent when the standard defines none"},"flag":{"type":["string","null"],"description":"Flag emoji","example":"🇧🇪"}}},"LanguageOfCountryResponse":{"type":"object","description":"A language spoken in the requested country (source: Unicode CLDR)","properties":{"alpha3":{"type":"string","description":"ISO 639-3 code","example":"nld"},"alpha2":{"type":["string","null"],"description":"ISO 639-1 code, absent if the language has none","example":"nl"},"name":{"type":"string","description":"Name, localized when a translation exists","example":"Dutch"},"script":{"type":["string","null"],"description":"ISO 15924 script the figures refer to, when CLDR qualifies the language with one","example":"Latn"},"officialStatus":{"type":["string","null"],"description":"Official status in the country; absent when the language has none","enum":["official","official_regional","de_facto_official"],"example":"official"},"populationPercent":{"type":"number","description":"Share of the country's population speaking the language, in percent","example":55}}},"CurrencyOfCountryResponse":{"type":"object","description":"A currency currently legal tender in the requested country (source: Unicode CLDR)","properties":{"alpha3":{"type":"string","description":"ISO 4217 alphabetic code","example":"EUR"},"numeric":{"type":"string","description":"ISO 4217 numeric code, leading zeros kept","example":"978"},"name":{"type":"string","description":"Name, localized when a translation exists","example":"Euro"},"minorUnits":{"type":["integer","null"],"format":"int32","description":"Number of decimal digits","example":2},"since":{"type":["string","null"],"format":"date","description":"Date the currency became legal tender in the country","example":"1999-01-01"}}}},"securitySchemes":{"apiKey":{"type":"apiKey","description":"Optional. A key of a registered developer (portal: /account/) raises the request rate of the client from the anonymous per-IP limit to the plan's. Without it the request is anonymous; an unknown or revoked key is refused (401 INVALID_API_KEY).","name":"X-API-Key","in":"header"}}}}