{"openapi":"3.1.0","info":{"title":"PowerLab API","description":"Oefenlab voor Exact Online → workflowautomatisering → AI → conceptjaarrekening.","version":"0.5.0"},"paths":{"/health":{"get":{"tags":["System"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/api/exact/administrations":{"get":{"tags":["Exact demo"],"summary":"Administrations","operationId":"GetAdministrations","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},"type":"object","title":"Response Getadministrations"}}}}}}},"/api/exact/administrations/{administration_id}/trial-balance":{"get":{"tags":["Exact demo"],"summary":"Trial Balance","operationId":"GetTrialBalance","parameters":[{"name":"administration_id","in":"path","required":true,"schema":{"type":"string","title":"Administration Id"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer","maximum":2035,"minimum":2020,"default":2025,"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Gettrialbalance"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/exact/administrations/{administration_id}/general-ledger-accounts":{"get":{"tags":["Exact demo"],"summary":"General Ledger Accounts","operationId":"GetGeneralLedgerAccounts","parameters":[{"name":"administration_id","in":"path","required":true,"schema":{"type":"string","title":"Administration Id"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer","maximum":2035,"minimum":2020,"default":2025,"title":"Year"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":4,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Getgeneralledgeraccounts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/exact/account-mappings":{"get":{"tags":["Exact demo"],"summary":"Account Mappings","operationId":"GetAccountMappings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Getaccountmappings"}}}}}}},"/api/exact/validate-trial-balance":{"post":{"tags":["Exact demo"],"summary":"Validate Trial Balance","operationId":"ValidateTrialBalance","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrialBalanceInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Validatetrialbalance"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/v1/annual-report":{"post":{"tags":["AI demo"],"summary":"Ai Annual Report","operationId":"CreateAnnualReportDraft","parameters":[{"name":"scenario","in":"query","required":false,"schema":{"type":"string","default":"normal","title":"Scenario"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnualReportAIRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/documents/annual-report":{"post":{"tags":["Document demo"],"summary":"Create Annual Report Document","operationId":"CreateAnnualReportDocument","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Createannualreportdocument"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/documents/{document_id}.html":{"get":{"tags":["Document demo"],"summary":"Download Annual Report Document","operationId":"DownloadAnnualReportDocument","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/failures/flaky":{"get":{"tags":["Failure lab"],"summary":"Flaky Endpoint","operationId":"TestFlakyEndpoint","parameters":[{"name":"scenario","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":80,"default":"default","title":"Scenario"}},{"name":"failures","in":"query","required":false,"schema":{"type":"integer","maximum":5,"minimum":0,"default":2,"title":"Failures"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/failures/reset":{"post":{"tags":["Failure lab"],"summary":"Reset Failure Scenario","operationId":"ResetFailureScenario","parameters":[{"name":"scenario","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":80,"default":"default","title":"Scenario"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Resetfailurescenario"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/failures/timeout":{"get":{"tags":["Failure lab"],"summary":"Timeout Endpoint","operationId":"TestTimeout","parameters":[{"name":"seconds","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":10,"title":"Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Testtimeout"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/failures/invalid-json":{"get":{"tags":["Failure lab"],"summary":"Invalid Json","operationId":"GetInvalidJson","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/secure/ping":{"get":{"tags":["Security lab"],"summary":"Secure Ping","operationId":"SecurePing","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Secureping"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Account":{"properties":{"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"debit":{"type":"number","title":"Debit","default":0},"credit":{"type":"number","title":"Credit","default":0},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},"additionalProperties":true,"type":"object","required":["code","name"],"title":"Account"},"AnnualReportAIRequest":{"properties":{"provider":{"type":"string","enum":["claude","openai","copilot","ollama"],"title":"Provider","default":"claude"},"administration":{"additionalProperties":true,"type":"object","title":"Administration"},"financialYear":{"type":"integer","maximum":2035.0,"minimum":2020.0,"title":"Financialyear"},"currency":{"type":"string","title":"Currency","default":"EUR"},"sourceChecks":{"additionalProperties":true,"type":"object","title":"Sourcechecks"},"statements":{"additionalProperties":true,"type":"object","title":"Statements"},"requestedOutput":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Requestedoutput"}},"additionalProperties":true,"type":"object","required":["administration","financialYear","statements"],"title":"AnnualReportAIRequest"},"DocumentRequest":{"properties":{"administration":{"additionalProperties":true,"type":"object","title":"Administration"},"financialYear":{"type":"integer","maximum":2035.0,"minimum":2020.0,"title":"Financialyear"},"currency":{"type":"string","title":"Currency","default":"EUR"},"statements":{"additionalProperties":true,"type":"object","title":"Statements"},"aiContent":{"additionalProperties":true,"type":"object","title":"Aicontent"},"approvalStatus":{"type":"string","enum":["pending","approved","rejected"],"title":"Approvalstatus","default":"pending"}},"additionalProperties":true,"type":"object","required":["administration","financialYear","statements","aiContent"],"title":"DocumentRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"TrialBalanceInput":{"properties":{"accounts":{"items":{"$ref":"#/components/schemas/Account"},"type":"array","title":"Accounts"}},"additionalProperties":true,"type":"object","required":["accounts"],"title":"TrialBalanceInput"},"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"}}}}