{"openapi":"3.1.0","info":{"title":"CODA Converter API","description":"Convert bank account exports (KBC/CBC CSV, Argenta Excel and Belfius CSV) into Belgian **CODA 2.x** files for import into bookkeeping software.\n\n* Upload either as `multipart/form-data` (field `file`) or as a raw request body (`Content-Type: text/csv`).\n* Files are processed **in memory only** and never stored.\n* Rate limited per source IP: 20 requests per 60s on `/api/*` (HTTP 429 + `Retry-After` when exceeded).","version":"1.4.0"},"paths":{"/api/v1/health":{"get":{"tags":["meta"],"summary":"Health","operationId":"health_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sources":{"get":{"tags":["meta"],"summary":"List supported bank export formats","operationId":"sources_api_v1_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/preview":{"post":{"tags":["convert"],"summary":"Parse an export and return the statements as JSON (no CODA)","operationId":"preview_api_v1_preview_post","parameters":[{"name":"source","in":"query","required":false,"schema":{"type":"string","description":"Source format; `auto` detects it. See `/api/v1/sources`.","default":"auto","title":"Source"},"description":"Source format; `auto` detects it. See `/api/v1/sources`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary"}}}},"text/csv":{"schema":{"type":"string"}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}},"/api/v1/preview-bulk":{"post":{"tags":["convert"],"summary":"Parse multiple exports and return a combined JSON preview","operationId":"preview_bulk_api_v1_preview_bulk_post","parameters":[{"name":"source","in":"query","required":false,"schema":{"type":"string","description":"Source format; `auto` detects it. See `/api/v1/sources`.","default":"auto","title":"Source"},"description":"Source format; `auto` detects it. See `/api/v1/sources`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary"}}}},"text/csv":{"schema":{"type":"string"}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}},"/api/v1/convert":{"post":{"tags":["convert"],"summary":"Convert an export to CODA","operationId":"convert_api_v1_convert_post","parameters":[{"name":"source","in":"query","required":false,"schema":{"type":"string","description":"Source format; `auto` detects it. See `/api/v1/sources`.","default":"auto","title":"Source"},"description":"Source format; `auto` detects it. See `/api/v1/sources`."},{"name":"output","in":"query","required":false,"schema":{"enum":["coda","zip"],"type":"string","description":"`coda`: one .cod file containing all statements; `zip`: a ZIP with one .cod file per statement.","default":"coda","title":"Output"},"description":"`coda`: one .cod file containing all statements; `zip`: a ZIP with one .cod file per statement."},{"name":"company_number","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Enterprise number (KBO/BCE) of the account holder, e.g. 0123456789. Written into the CODA header; some packages use it to match the company.","title":"Company Number"},"description":"Enterprise number (KBO/BCE) of the account holder, e.g. 0123456789. Written into the CODA header; some packages use it to match the company."},{"name":"creation_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"CODA creation date (YYYY-MM-DD). Default: closing date of each statement.","title":"Creation Date"},"description":"CODA creation date (YYYY-MM-DD). Default: closing date of each statement."},{"name":"bic","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Override the BIC of the account-holding bank.","title":"Bic"},"description":"Override the BIC of the account-holding bank."}],"responses":{"200":{"description":"The CODA file (or a ZIP with one CODA file per statement).","content":{"text/plain":{},"application/zip":{}}},"413":{"description":"Upload too large"},"422":{"description":"File not recognised"},"429":{"description":"Rate limit exceeded"}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary"}}}},"text/csv":{"schema":{"type":"string"}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}},"/api/v1/convert-bulk":{"post":{"tags":["convert"],"summary":"Convert multiple exports and return a ZIP archive","operationId":"convert_bulk_api_v1_convert_bulk_post","parameters":[{"name":"source","in":"query","required":false,"schema":{"type":"string","description":"Source format; `auto` detects it. See `/api/v1/sources`.","default":"auto","title":"Source"},"description":"Source format; `auto` detects it. See `/api/v1/sources`."},{"name":"output","in":"query","required":false,"schema":{"enum":["coda","zip"],"type":"string","description":"One CODA per upload, or one per statement.","default":"coda","title":"Output"},"description":"One CODA per upload, or one per statement."},{"name":"company_number","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Enterprise number (KBO/BCE) of the account holder, e.g. 0123456789. Written into the CODA header; some packages use it to match the company.","title":"Company Number"},"description":"Enterprise number (KBO/BCE) of the account holder, e.g. 0123456789. Written into the CODA header; some packages use it to match the company."},{"name":"creation_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"CODA creation date (YYYY-MM-DD). Default: closing date of each statement.","title":"Creation Date"},"description":"CODA creation date (YYYY-MM-DD). Default: closing date of each statement."},{"name":"bic","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Override the BIC of the account-holding bank.","title":"Bic"},"description":"Override the BIC of the account-holding bank."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary"}}}},"text/csv":{"schema":{"type":"string"}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}