{"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.27.0"},"servers":[{"url":"/","description":"This server"}],"tags":[{"name":"Annual accounts taxonomies (NBB)","description":"The XBRL taxonomies of the Central Balance Sheet Office of the National Bank of Belgium (source: National Bank of Belgium - nbb.be), every version since 2015, mirrored as published: the models (full, abridged, micro; with and without capital; associations and foundations...), their sections, tables, rubric codes and labels in French, Dutch, German and English, the fact a filing reports at each cell (concept, type, period, dimension members), and the NBB's checks with their messages. Two formats: FWS (nbb-cbso packages, Models 2021) and PFS (be_fr_pfs_ci, 2015-2020, which also reference the PCMN account of each rubric). Which version applies to a financial year is set by the NBB's technical guide (reference date of the accounts), not by this API."}],"paths":{"/api/v1/bel/annual-accounts-taxonomies":{"get":{"tags":["Annual accounts taxonomies (NBB)"],"summary":"The stored taxonomy versions","description":"Every version stored, the current one (linked from the NBB's taxonomy page) first.","operationId":"findVersions","responses":{"200":{"description":"The versions","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaxonomyVersionResponse"}}}}},"503":{"description":"No taxonomy loaded yet (code TAXONOMIES_NOT_LOADED)","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/bel/annual-accounts-taxonomies/{version}":{"get":{"tags":["Annual accounts taxonomies (NBB)"],"summary":"One taxonomy version","operationId":"findVersion","parameters":[{"name":"version","in":"path","description":"The version","required":true,"schema":{"type":"string","pattern":"^[0-9][0-9.\\-]{2,19}$"},"example":"26.0.15"}],"responses":{"200":{"description":"The version","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TaxonomyVersionResponse"}}}},"400":{"description":"Malformed version or model (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No such version (code TAXONOMY_VERSION_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"No taxonomy loaded yet (code TAXONOMIES_NOT_LOADED)","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/bel/annual-accounts-taxonomies/{version}/models":{"get":{"tags":["Annual accounts taxonomies (NBB)"],"summary":"The models of a version","description":"Its entry points in the package's order.","operationId":"findModels","parameters":[{"name":"version","in":"path","description":"The version","required":true,"schema":{"type":"string","pattern":"^[0-9][0-9.\\-]{2,19}$"},"example":"26.0.15"}],"responses":{"200":{"description":"The models","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaxonomyModelResponse"}}}}},"400":{"description":"Malformed version or model (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No such version (code TAXONOMY_VERSION_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"No taxonomy loaded yet (code TAXONOMIES_NOT_LOADED)","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/bel/annual-accounts-taxonomies/{version}/models/{model}/sections":{"get":{"tags":["Annual accounts taxonomies (NBB)"],"summary":"A model's sections, tables, rubrics and facts","description":"The model as a tree: FWS sections hold tables (columns, rows, sheets and every cell with the fact to report: concept, type, period, dimension members, the defaults left out); PFS sections hold lines (concept, rubric code, PCMN accounts). A full model is about 1.7 MB, a micro one about 0.7 MB.","operationId":"findSections","parameters":[{"name":"version","in":"path","description":"The version","required":true,"schema":{"type":"string","pattern":"^[0-9][0-9.\\-]{2,19}$"},"example":"26.0.15"},{"name":"model","in":"path","description":"The model code","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{2,30}$"},"example":"m07-f"}],"responses":{"200":{"description":"The model's tree","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TaxonomyModelTreeResponse"}}}},"400":{"description":"Malformed version or model (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No such version (code TAXONOMY_VERSION_NOT_FOUND) or model (code TAXONOMY_MODEL_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"No taxonomy loaded yet (code TAXONOMIES_NOT_LOADED)","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/bel/annual-accounts-taxonomies/{version}/models/{model}/checks":{"get":{"tags":["Annual accounts taxonomies (NBB)"],"summary":"A model's checks","description":"The NBB's assertions as published (FWS; the PFS taxonomies publish none): the test, its severity and its message, which states the equation in rubric codes (\"22/27 = 22 + 23 + 24 + 25 + 26 + 27\").","operationId":"findChecks","parameters":[{"name":"version","in":"path","description":"The version","required":true,"schema":{"type":"string","pattern":"^[0-9][0-9.\\-]{2,19}$"},"example":"26.0.15"},{"name":"model","in":"path","description":"The model code","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{2,30}$"},"example":"m07-f"}],"responses":{"200":{"description":"The checks","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaxonomyCheckResponse"}}}}},"400":{"description":"Malformed version or model (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No such version (code TAXONOMY_VERSION_NOT_FOUND) or model (code TAXONOMY_MODEL_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"No taxonomy loaded yet (code TAXONOMIES_NOT_LOADED)","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/bel/annual-accounts-taxonomies/{version}/dimensions":{"get":{"tags":["Annual accounts taxonomies (NBB)"],"summary":"The dimensions of a version","description":"Its dimensions and members with their labels and the default member a filing leaves out (FWS; none for PFS).","operationId":"findDimensions","parameters":[{"name":"version","in":"path","description":"The version","required":true,"schema":{"type":"string","pattern":"^[0-9][0-9.\\-]{2,19}$"},"example":"26.0.15"}],"responses":{"200":{"description":"The dimensions","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaxonomyDimensionResponse"}}}}},"400":{"description":"Malformed version or model (code INVALID_REQUEST)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No such version (code TAXONOMY_VERSION_NOT_FOUND)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"No taxonomy loaded yet (code TAXONOMIES_NOT_LOADED)","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"}}},"LocalizedTextResponse":{"type":"object","properties":{"fr":{"type":"string","example":"Immobilisations corporelles"},"nl":{"type":"string","example":"Materiële vaste activa"},"de":{"type":"string","example":"Sachanlagen"},"en":{"type":"string","example":"Tangible fixed assets"}}},"TaxonomyVersionResponse":{"type":"object","properties":{"version":{"type":"string","description":"The version: x.y.z for the nbb-cbso packages, the date for the be_fr_pfs_ci ones","example":"26.0.15"},"format":{"type":"string","description":"FWS (nbb-cbso packages, Models 2021: tables, dimensions, checks) or PFS (be_fr_pfs_ci, 2015-2020: concepts, presentation, references)","example":"FWS"},"name":{"$ref":"#/components/schemas/LocalizedTextResponse","description":"The package's name (FWS only)"},"isCurrent":{"type":"boolean","description":"Whether the NBB's taxonomy page links this version (the one in use today)"},"source":{"type":"string","format":"uri","description":"The NBB package it was read from","example":"https://www.nbb.be/doc/ba/xbrl/taxo2026/nbb-cbso-26.0.15.zip"},"publishedAt":{"type":"string","format":"date-time","description":"The package's Last-Modified at the NBB"},"sizeBytes":{"type":"integer","format":"int64","description":"The package's size in bytes","example":60664968},"sha256":{"type":"string","description":"The package's SHA-256, hexadecimal"}}},"TaxonomyModelResponse":{"type":"object","properties":{"code":{"type":"string","description":"The entry point's code: -f full deposit, -a / -o the two parts of a split deposit, -p PDF (FWS); pfs-full, pfs-abbr, pfs-mic, pfs-npo-full, pfs-npo-abbr (PFS)","example":"m02-f"},"family":{"type":"string","description":"The model family","example":"m02"},"shortName":{"$ref":"#/components/schemas/LocalizedTextResponse","description":"The short name the package gives (C-cap, A-ASBL...), FWS only"},"name":{"$ref":"#/components/schemas/LocalizedTextResponse","description":"The name the package gives, FWS only (PFS taxonomies publish none)"},"entryPoint":{"type":"string","description":"The entry point schema an instance refers to","example":"http://www.nbb.be/be/fr/cbso/fws/26.0/mod/m02/m02-f.xsd"}}},"DimensionMemberResponse":{"type":"object","properties":{"dimension":{"type":"string","example":"dim:bas"},"member":{"type":"string","example":"bas:m2"}}},"FactResponse":{"type":"object","properties":{"concept":{"type":"string","description":"The concept (FWS metric, PFS concept)","example":"met:am1"},"dataType":{"type":"string","description":"Its XBRL type as published; the sign is in it for FWS (nonNegative..., nonPositive..., signed)","example":"pfs-dt:nonNegativeMonetary14D2ItemType"},"periodType":{"type":"string","description":"instant or duration","example":"instant"},"balance":{"type":"string","description":"debit or credit (PFS), null when none","example":"debit"},"dimensions":{"type":"array","description":"The explicit dimension members of the context, the dimension defaults left out (a filing omits them)","items":{"$ref":"#/components/schemas/DimensionMemberResponse"}},"openDimensions":{"type":"array","description":"The typed dimensions whose members the filer gives (lists)","items":{"type":"string"}}}},"LineResponse":{"type":"object","properties":{"key":{"type":"string","example":"FullBalanceSheet/12"},"label":{"$ref":"#/components/schemas/LocalizedTextResponse"},"rubricCode":{"type":"string","description":"The rubric code (reference Publisher NBB)","example":"20"},"pcmnAccounts":{"type":"array","description":"The PCMN accounts (reference Publisher PCMN-MAR)","example":["20"],"items":{"type":"string"}},"isAbstract":{"type":"boolean"},"fact":{"$ref":"#/components/schemas/FactResponse"},"children":{"type":"array","items":{"$ref":"#/components/schemas/LineResponse"}}}},"SectionResponse":{"type":"object","properties":{"key":{"type":"string","example":"sect03.01.0"},"label":{"$ref":"#/components/schemas/LocalizedTextResponse","description":"Its title (PFS: the extended link role definition, English only)"},"sections":{"type":"array","items":{"$ref":"#/components/schemas/SectionResponse"}},"tables":{"type":"array","items":{"$ref":"#/components/schemas/TableResponse"}},"lines":{"type":"array","items":{"$ref":"#/components/schemas/LineResponse"}}}},"TableCellResponse":{"type":"object","properties":{"row":{"type":"string","example":"s.03.01.0.cdefhi/table1/ruleNode_36"},"column":{"type":"string","example":"s.03.01.0.cdefhi/table1/ruleNode"},"sheet":{"type":"string","description":"The z-axis node, null when the table has none"},"fact":{"$ref":"#/components/schemas/FactResponse"}}},"TableNodeResponse":{"type":"object","properties":{"key":{"type":"string","example":"s.03.01.0.cdefhi/table1/ruleNode_36"},"label":{"$ref":"#/components/schemas/LocalizedTextResponse"},"rubricCode":{"type":"string","description":"The rubric code as published","example":"22/27"},"annexReference":{"type":"string","description":"The annex reference as published","example":"6.1.3"},"isAbstract":{"type":"boolean"},"isMerged":{"type":"boolean"},"concept":{"type":"string","description":"The concept this node sets for its subtree, null when none"},"dimensions":{"type":"array","description":"The dimension members this node sets for its subtree","items":{"$ref":"#/components/schemas/DimensionMemberResponse"}},"openDimensions":{"type":"array","description":"The open (typed) dimensions of an aspect node","items":{"type":"string"}},"children":{"type":"array","items":{"$ref":"#/components/schemas/TableNodeResponse"}}}},"TableResponse":{"type":"object","properties":{"key":{"type":"string","example":"s.03.01.0.cdefhi/table1"},"label":{"$ref":"#/components/schemas/LocalizedTextResponse","description":"Its label (the NBB labels the sections, rarely the tables)"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/TableNodeResponse"}},"rows":{"type":"array","items":{"$ref":"#/components/schemas/TableNodeResponse"}},"sheets":{"type":"array","items":{"$ref":"#/components/schemas/TableNodeResponse"}},"cells":{"type":"array","description":"Every cell: one position of each axis, aspects resolved by the Table Linkbase rules","items":{"$ref":"#/components/schemas/TableCellResponse"}}}},"TaxonomyModelTreeResponse":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/TaxonomyVersionResponse"},"model":{"$ref":"#/components/schemas/TaxonomyModelResponse"},"sections":{"type":"array","items":{"$ref":"#/components/schemas/SectionResponse"}}}},"TaxonomyCheckResponse":{"type":"object","properties":{"id":{"type":"string","example":"va_03.01.0_0002"},"family":{"type":"string","description":"legal, nbb, other or sb (the formula linkbase it comes from)","example":"legal"},"kind":{"type":"string","description":"value or existence","example":"value"},"severity":{"type":"string","description":"ERROR (the XBRL default when none is published) or WARNING","example":"ERROR"},"test":{"type":"string","description":"The XPath test as published, over the assertion's fact variables","example":"$am1 eq sum($am12)"},"message":{"$ref":"#/components/schemas/LocalizedTextResponse","description":"The message shown when the check fails, as published"}}},"Member":{"type":"object","properties":{"name":{"type":"string","example":"bas:m2"},"label":{"$ref":"#/components/schemas/LocalizedTextResponse"}}},"TaxonomyDimensionResponse":{"type":"object","properties":{"name":{"type":"string","example":"dim:bas"},"label":{"$ref":"#/components/schemas/LocalizedTextResponse"},"defaultMember":{"type":"string","description":"The member a filing leaves out (XBRL Dimensions default)","example":"bas:m0"},"members":{"type":"array","items":{"$ref":"#/components/schemas/Member"}}}}},"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"}}}}