{"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.20.0"},"servers":[{"url":"/","description":"This server"}],"tags":[{"name":"Bank codes","description":"Belgian bank identification codes as the National Bank of Belgium publishes them (Protocol list, source: National Bank of Belgium - nbb.be), mirrored daily: the first three digits of every Belgian account number give the institution and its BIC. The status and the BIC without spaces are read from the published cells (bicAsPublished keeps them). The NBB advises consulting the institution or SWIFT when a BIC is used for specific reasons."}],"paths":{"/api/v1/bel/ibans/{iban}":{"get":{"tags":["Bank codes"],"summary":"Check a Belgian IBAN and find its bank","description":"Checks the length, the ISO 13616 check digits and the Belgian check digits of the account, then gives the bank of its code in the NBB list. A readable Belgian IBAN whose checks fail answers 200 with isValid false (its bank is still given for information).","operationId":"checkIban","parameters":[{"name":"iban","in":"path","description":"IBAN, with or without spaces, any case","required":true,"schema":{"type":"string","maxLength":50,"minLength":0},"example":"BE71 0961 2345 6769"}],"responses":{"200":{"description":"The checks and the bank","content":{"*/*":{"schema":{"$ref":"#/components/schemas/IbanResponse"}}}},"400":{"description":"Not an IBAN (code INVALID_IBAN), or not Belgian (code IBAN_COUNTRY_NOT_SUPPORTED)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The list has not been loaded yet (code BANK_CODES_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/bank-codes":{"get":{"tags":["Bank codes"],"summary":"The Belgian bank identification codes","description":"The 1 000 codes 000-999 in code order, free and unavailable ones included, optionally filtered by status or by BIC (an 8-character BIC also matches its XXX form).","operationId":"findCodes","parameters":[{"name":"status","in":"query","description":"ASSIGNED, FREE or UNAVAILABLE","required":false,"schema":{"type":"string","enum":["ASSIGNED","FREE","UNAVAILABLE"]}},{"name":"bic","in":"query","description":"BIC of 8 or 11 characters, spaces allowed","required":false,"schema":{"type":"string","pattern":"^[A-Za-z0-9 ]{8,15}$"},"example":"GKCCBEBB"}],"responses":{"200":{"description":"The matching codes","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BankCodeResponse"}}}}},"400":{"description":"Unknown status or malformed BIC (code INVALID_REQUEST or INVALID_ARGUMENT)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The list has not been loaded yet (code BANK_CODES_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/bank-codes/{code}":{"get":{"tags":["Bank codes"],"summary":"One Belgian bank identification code","description":"Every 3-digit code is in the list, free and unavailable ones included.","operationId":"findCode","parameters":[{"name":"code","in":"path","description":"The 3-digit code","required":true,"schema":{"type":"string"},"example":"096"}],"responses":{"200":{"description":"The code","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BankCodeResponse"}}}},"400":{"description":"Not three digits (code INVALID_BANK_CODE)","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"The list has not been loaded yet (code BANK_CODES_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"}}},"BankCodeNamesResponse":{"type":"object","description":"The institution's name in the four columns of the NBB list, each null when the list leaves it empty (most codes are published in Dutch only); for a free or unavailable code, the published markers","properties":{"nl":{"type":["string","null"],"description":"Dutch name","example":"BELFIUS BANK"},"fr":{"type":["string","null"],"description":"French name","example":"BELFIUS BANQUE"},"de":{"type":["string","null"],"description":"German name"},"en":{"type":["string","null"],"description":"English name"}}},"BankCodeResponse":{"type":"object","description":"A Belgian bank identification code: the first three digits of every Belgian account number","properties":{"code":{"type":"string","description":"The 3-digit code","example":"096"},"status":{"type":"string","description":"ASSIGNED; FREE when the list writes VRIJ/LIBRE; UNAVAILABLE when it writes Onbeschikbaar/Indisponible","enum":["ASSIGNED","FREE","UNAVAILABLE"]},"bic":{"type":["string","null"],"description":"The published BIC without spaces (ISO 9362), null when the list publishes none","example":"GKCCBEBB"},"bicAsPublished":{"type":"string","description":"The BIC cell exactly as published (GKCC BE BB, N/A, VRIJ, nav, NYA, -...)","example":"GKCC BE BB"},"names":{"$ref":"#/components/schemas/BankCodeNamesResponse","description":"The published names"}}},"IbanChecksResponse":{"type":"object","description":"The checks of a Belgian IBAN","properties":{"isLengthValid":{"type":"boolean","description":"16 characters: BE, 2 check digits and the 12-digit account number"},"isIbanCheckValid":{"type":"boolean","description":"ISO 13616 check (mod 97-10 of the rearranged IBAN equals 1)"},"isBelgianCheckValid":{"type":"boolean","description":"Belgian check: the last two digits of the account are its first ten mod 97 (97 when 0)"}}},"IbanResponse":{"type":"object","description":"A Belgian IBAN checked, with the bank its code designates in the NBB list","properties":{"iban":{"type":"string","description":"The IBAN in electronic form","example":"BE71096123456769"},"formatted":{"type":"string","description":"The IBAN in groups of four","example":"BE71 0961 2345 6769"},"isValid":{"type":"boolean","description":"Whether every check holds"},"checks":{"$ref":"#/components/schemas/IbanChecksResponse","description":"The checks"},"bankCode":{"type":["string","null"],"description":"The bank identification code (first three digits of the account), null when the length is wrong","example":"096"},"bank":{"type":"null","$ref":"#/components/schemas/BankCodeResponse","description":"The code in the NBB list, given even when a check fails; null when the length is wrong"}}}},"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"}}}}