{"openapi":"3.1.0","info":{"title":"KI-Rechnungsverarbeitung Web","description":"Automatische Rechnungsverarbeitung mit KI","version":"1.0.0"},"paths":{"/budget":{"get":{"tags":["Budget"],"summary":"Budget Dashboard","operationId":"budget_dashboard_budget_get","parameters":[{"name":"jahr","in":"query","required":false,"schema":{"type":"integer","title":"Jahr"}},{"name":"monat","in":"query","required":false,"schema":{"type":"integer","title":"Monat"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/budget/jahr":{"get":{"tags":["Budget"],"summary":"Budget Jahresansicht","operationId":"budget_jahresansicht_budget_jahr_get","parameters":[{"name":"jahr","in":"query","required":false,"schema":{"type":"integer","title":"Jahr"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/kategorien":{"get":{"tags":["Budget"],"summary":"Get Kategorien","operationId":"get_kategorien_api_budget_kategorien_get","parameters":[{"name":"nur_aktive","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Nur Aktive"}},{"name":"mit_budget","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Mit Budget"}},{"name":"jahr","in":"query","required":false,"schema":{"type":"integer","title":"Jahr"}},{"name":"monat","in":"query","required":false,"schema":{"type":"integer","title":"Monat"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/set":{"post":{"tags":["Budget"],"summary":"Set Budget","operationId":"set_budget_api_budget_set_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetSetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/copy":{"post":{"tags":["Budget"],"summary":"Copy Budgets","operationId":"copy_budgets_api_budget_copy_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetCopyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/summary":{"get":{"tags":["Budget"],"summary":"Get Summary","operationId":"get_summary_api_budget_summary_get","parameters":[{"name":"jahr","in":"query","required":true,"schema":{"type":"integer","title":"Jahr"}},{"name":"monat","in":"query","required":true,"schema":{"type":"integer","title":"Monat"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/trend":{"get":{"tags":["Budget"],"summary":"Get Trend","operationId":"get_trend_api_budget_trend_get","parameters":[{"name":"kategorie_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Kategorie Id"}},{"name":"monate","in":"query","required":false,"schema":{"type":"integer","default":12,"title":"Monate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/verteilung":{"get":{"tags":["Budget"],"summary":"Get Verteilung","operationId":"get_verteilung_api_budget_verteilung_get","parameters":[{"name":"jahr","in":"query","required":true,"schema":{"type":"integer","title":"Jahr"}},{"name":"monat","in":"query","required":true,"schema":{"type":"integer","title":"Monat"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/alerts":{"get":{"tags":["Budget"],"summary":"Get Alerts","operationId":"get_alerts_api_budget_alerts_get","parameters":[{"name":"nur_ungelesen","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Nur Ungelesen"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/alerts/{alert_id}/read":{"post":{"tags":["Budget"],"summary":"Mark Alert Read","operationId":"mark_alert_read_api_budget_alerts__alert_id__read_post","parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"integer","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/alerts/read-all":{"post":{"tags":["Budget"],"summary":"Mark All Alerts Read","operationId":"mark_all_alerts_read_api_budget_alerts_read_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/budget/export":{"get":{"tags":["Budget"],"summary":"Export Budgets","operationId":"export_budgets_api_budget_export_get","parameters":[{"name":"jahr","in":"query","required":true,"schema":{"type":"integer","title":"Jahr"}},{"name":"monat","in":"query","required":true,"schema":{"type":"integer","title":"Monat"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/jahresbudget":{"get":{"tags":["Budget"],"summary":"Get Jahresbudget","operationId":"get_jahresbudget_api_budget_jahresbudget_get","parameters":[{"name":"jahr","in":"query","required":true,"schema":{"type":"integer","title":"Jahr"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/init-demo":{"post":{"tags":["Budget"],"summary":"Init Demo","operationId":"init_demo_api_budget_init_demo_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/budget/integration/uebersicht":{"get":{"tags":["Budget"],"summary":"Get Integration Uebersicht","description":"Kombinierte Übersicht: Budget + Zahlungsstatus + Kontierungen","operationId":"get_integration_uebersicht_api_budget_integration_uebersicht_get","parameters":[{"name":"jahr","in":"query","required":true,"schema":{"type":"integer","title":"Jahr"}},{"name":"monat","in":"query","required":true,"schema":{"type":"integer","title":"Monat"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/budget/sync-from-kontierung":{"post":{"tags":["Budget"],"summary":"Sync Budget From Kontierung","description":"Synchronisiert Budget-Ist-Werte aus allen Kontierungen","operationId":"sync_budget_from_kontierung_api_budget_sync_from_kontierung_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/budget/offene-posten":{"get":{"tags":["Budget"],"summary":"Get Offene Posten","description":"Zeigt offene (unbezahlte) Rechnungen pro Budget-Kategorie","operationId":"get_offene_posten_api_budget_offene_posten_get","parameters":[{"name":"kategorie_id","in":"query","required":false,"schema":{"type":"integer","title":"Kategorie Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/invoice/pdf/{invoice_id}":{"get":{"tags":["Budget"],"summary":"View Invoice Pdf","description":"Sichere PDF-Anzeige für Rechnungen mit User-Validierung","operationId":"view_invoice_pdf_api_invoice_pdf__invoice_id__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/google":{"get":{"tags":["oauth"],"summary":"Google Login","description":"Initiate Google OAuth login","operationId":"google_login_auth_google_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/google/callback":{"get":{"tags":["oauth"],"summary":"Google Callback","description":"Handle Google OAuth callback","operationId":"google_callback_auth_google_callback_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/microsoft":{"get":{"tags":["oauth"],"summary":"Microsoft Login","description":"Initiate Microsoft OAuth login","operationId":"microsoft_login_auth_microsoft_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/microsoft/callback":{"get":{"tags":["oauth"],"summary":"Microsoft Callback","description":"Handle Microsoft OAuth callback","operationId":"microsoft_callback_auth_microsoft_callback_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/sso/status":{"get":{"tags":["oauth"],"summary":"Sso Status","description":"Check which SSO providers are configured","operationId":"sso_status_auth_sso_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/process":{"post":{"tags":["invoice"],"summary":"Process Invoice","operationId":"process_invoice_api_v1_process_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/dashboard/enterprise":{"get":{"summary":"Dashboard Enterprise","operationId":"dashboard_enterprise_dashboard_enterprise_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/dashboard/kpis":{"get":{"summary":"Api Dashboard Kpis","operationId":"api_dashboard_kpis_api_dashboard_kpis_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/freigaben":{"get":{"summary":"Freigaben Page","operationId":"freigaben_page_freigaben_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/freigaben/{request_id}/approve":{"post":{"summary":"Freigabe Approve","operationId":"freigabe_approve_freigaben__request_id__approve_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"integer","title":"Request Id"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_freigabe_approve_freigaben__request_id__approve_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/freigaben/{request_id}/reject":{"post":{"summary":"Freigabe Reject","operationId":"freigabe_reject_freigaben__request_id__reject_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"integer","title":"Request Id"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_freigabe_reject_freigaben__request_id__reject_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/freigaben/regeln":{"post":{"summary":"Freigabe Save Rules","operationId":"freigabe_save_rules_freigaben_regeln_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_freigabe_save_rules_freigaben_regeln_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/invoices/{invoice_id}/freigabe":{"post":{"summary":"Api Submit Approval","operationId":"api_submit_approval_api_invoices__invoice_id__freigabe_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/lieferanten":{"get":{"summary":"Lieferanten Page","operationId":"lieferanten_page_lieferanten_get","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"volumen","title":"Sort"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/lieferanten/{supplier}":{"get":{"summary":"Lieferant Detail","operationId":"lieferant_detail_lieferanten__supplier__get","parameters":[{"name":"supplier","in":"path","required":true,"schema":{"type":"string","title":"Supplier"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/lieferanten":{"get":{"summary":"Api Lieferanten","operationId":"api_lieferanten_api_lieferanten_get","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"volumen","title":"Sort"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/verfahrensdokumentation":{"get":{"summary":"Verfahrensdokumentation","operationId":"verfahrensdokumentation_verfahrensdokumentation_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/gobd/export-protokoll":{"get":{"summary":"Export Protokoll","operationId":"export_protokoll_gobd_export_protokoll_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/invoices/{invoice_id}/lock":{"post":{"summary":"Api Lock Invoice","operationId":"api_lock_invoice_api_invoices__invoice_id__lock_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/invoices/{invoice_id}/soft-delete":{"post":{"summary":"Api Soft Delete","operationId":"api_soft_delete_api_invoices__invoice_id__soft_delete_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_api_soft_delete_api_invoices__invoice_id__soft_delete_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/audit":{"get":{"summary":"Audit Page","operationId":"audit_page_audit_get","parameters":[{"name":"action","in":"query","required":false,"schema":{"type":"string","default":"","title":"Action"}},{"name":"user","in":"query","required":false,"schema":{"type":"string","default":"","title":"User"}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date To"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/audit/export.csv":{"get":{"summary":"Audit Export Csv","operationId":"audit_export_csv_audit_export_csv_get","parameters":[{"name":"action","in":"query","required":false,"schema":{"type":"string","default":"","title":"Action"}},{"name":"user","in":"query","required":false,"schema":{"type":"string","default":"","title":"User"}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","default":"","title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/dsgvo/auskunft/{user_id}":{"get":{"summary":"Api Dsgvo Auskunft","operationId":"api_dsgvo_auskunft_api_dsgvo_auskunft__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/dsgvo/loeschung/{user_id}":{"delete":{"summary":"Api Dsgvo Loeschung","operationId":"api_dsgvo_loeschung_api_dsgvo_loeschung__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dsgvo/einstellungen":{"get":{"summary":"Dsgvo Settings","operationId":"dsgvo_settings_dsgvo_einstellungen_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"summary":"Dsgvo Settings Save","operationId":"dsgvo_settings_save_dsgvo_einstellungen_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_dsgvo_settings_save_dsgvo_einstellungen_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/upload":{"get":{"summary":"Upload Alias","description":"Upload-Seite (die Startseite '/' enthält den Upload-Bereich).","operationId":"upload_alias_upload_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Jobs"],"summary":"Upload Files","operationId":"upload_files_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_files_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rechnungen":{"get":{"summary":"Rechnungen Alias","description":"Rechnungsliste (Historie).","operationId":"rechnungen_alias_rechnungen_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rechnung/{invoice_id}":{"get":{"summary":"Rechnung Detail","description":"Rechnungsdetail → leitet auf die zugehörige Job-Detailseite weiter.","operationId":"rechnung_detail_rechnung__invoice_id__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/export":{"get":{"summary":"Export Alias","description":"Export-Übersicht.","operationId":"export_alias_export_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/preise":{"get":{"summary":"Preise Page","description":"Deutsche Preisseite (statisch).","operationId":"preise_page_preise_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/freigaben/{request_id}/approve":{"post":{"summary":"Api Freigabe Approve","description":"Genehmigt die aktuelle Freigabestufe (JSON-API, mehrstufiger Workflow).","operationId":"api_freigabe_approve_api_freigaben__request_id__approve_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"integer","title":"Request Id"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_api_freigabe_approve_api_freigaben__request_id__approve_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/landing":{"get":{"summary":"Landing Page","description":"Landing Page für Marketing","operationId":"landing_page_landing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sicherheit":{"get":{"summary":"Trust Security Page","description":"Öffentliche Sicherheits-/Trust-Seite.","operationId":"trust_security_page_sicherheit_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/compliance":{"get":{"summary":"Compliance Page","description":"Öffentliche Compliance-Übersicht.","operationId":"compliance_page_compliance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/avv":{"get":{"summary":"Avv Page","description":"Öffentliche AVV-Entwurfsseite.","operationId":"avv_page_avv_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/referenzen":{"get":{"summary":"Referenzen Page","description":"Öffentliche Referenz-/Einsatzprofil-Seite.","operationId":"referenzen_page_referenzen_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Home","operationId":"home__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/upload":{"post":{"tags":["Jobs"],"summary":"Upload Files","operationId":"upload_files_api_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_files_api_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/process/{job_id}":{"post":{"tags":["Jobs"],"summary":"Process Job","description":"Process uploaded PDFs\nReturns immediately, processing happens in background","operationId":"process_job_api_process__job_id__post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/status/{job_id}":{"get":{"tags":["Jobs"],"summary":"Get Status","description":"Get processing status","operationId":"get_status_api_status__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/results/{job_id}":{"get":{"tags":["Jobs"],"summary":"Get Results","description":"Get processing results","operationId":"get_results_api_results__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/download/{job_id}/{format}":{"get":{"tags":["Export"],"summary":"Download Export","description":"Download exported file","operationId":"download_export_api_download__job_id___format__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"format","in":"path","required":true,"schema":{"type":"string","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/results/{job_id}":{"get":{"summary":"Results Page","description":"Results page - with DB fallback","operationId":"results_page_results__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["System"],"summary":"Health Check","description":"Health check endpoint mit HTML-Dashboard für Browser\nund JSON für Monitoring / Uptime-Checks.","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health":{"get":{"tags":["System"],"summary":"Health Check Json","description":"Health check - JSON only (für Monitoring/Tests)","operationId":"health_check_json_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/system/status":{"get":{"tags":["System"],"summary":"System Status","description":"Detaillierter System-Status mit Alerts","operationId":"system_status_api_system_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/system/check":{"post":{"tags":["System"],"summary":"Trigger System Check","description":"Manueller System-Check (nur Admin)","operationId":"trigger_system_check_api_system_check_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/send-email/{job_id}":{"post":{"tags":["Notifications"],"summary":"Send Email Route","description":"Send files via email","operationId":"send_email_route_api_send_email__job_id__post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mbr/monthly.pptx":{"get":{"summary":"Download Monthly Mbr","description":"Enterprise Monthly Business Review (MBR) download.\n- Auth-guarded via session\n- User-isolated data (Enterprise feature)\n- Optional custom date range via query params\n- Returns editable PPTX","operationId":"download_monthly_mbr_mbr_monthly_pptx_get","parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","title":"Year"}},{"name":"month","in":"query","required":false,"schema":{"type":"integer","title":"Month"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dashboard":{"get":{"summary":"Unified Dashboard","description":"Unified Dashboard für Multi-Product User","operationId":"unified_dashboard_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/history":{"get":{"summary":"History Page","operationId":"history_page_history_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/job_old/{job_id}":{"get":{"summary":"Job Details Page Old","operationId":"job_details_page_old_job_old__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analytics":{"get":{"summary":"Analytics Page","description":"Expense analytics dashboard","operationId":"analytics_page_analytics_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/admin":{"get":{"tags":["Admin"],"summary":"Admin Page","operationId":"admin_page_admin_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/admin/users":{"get":{"tags":["Admin"],"summary":"Admin Users Page","operationId":"admin_users_page_admin_users_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/admin/users":{"post":{"tags":["Admin"],"summary":"Create User","description":"Neuen User anlegen","operationId":"create_user_api_admin_users_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/users/{user_id}":{"put":{"tags":["Admin"],"summary":"Update User Admin","description":"User bearbeiten","operationId":"update_user_admin_api_admin_users__user_id__put","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/{user_id}/toggle":{"post":{"tags":["Admin"],"summary":"Toggle User Status","description":"User aktivieren/deaktivieren","operationId":"toggle_user_status_api_admin_users__user_id__toggle_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/exports":{"get":{"tags":["Export"],"summary":"Export History Page","description":"Export-Historie anzeigen","operationId":"export_history_page_exports_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/invoice/{invoice_id}":{"get":{"summary":"Get Invoice","description":"Get single invoice for editing","operationId":"get_invoice_api_invoice__invoice_id__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Update Invoice Endpoint","description":"Update invoice with corrections and save for learning","operationId":"update_invoice_endpoint_api_invoice__invoice_id__put","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/supplier/{supplier}/patterns":{"get":{"summary":"Get Supplier Patterns Endpoint","description":"Get learned patterns for a supplier","operationId":"get_supplier_patterns_endpoint_api_supplier__supplier__patterns_get","parameters":[{"name":"supplier","in":"path","required":true,"schema":{"type":"string","title":"Supplier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/upload-progress":{"get":{"summary":"Upload Progress Page","description":"Upload page with real-time progress","operationId":"upload_progress_page_upload_progress_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/email-config":{"get":{"summary":"Email Config Page","description":"Email inbox configuration page","operationId":"email_config_page_email_config_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/email-config":{"post":{"summary":"Save Email Config Endpoint","description":"Save email inbox configuration","operationId":"save_email_config_endpoint_api_email_config_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/email-config/test":{"post":{"summary":"Test Email Connection","description":"Test IMAP connection","operationId":"test_email_connection_api_email_config_test_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/email-config/check-now":{"post":{"summary":"Check Emails Now","description":"Manually trigger email check","operationId":"check_emails_now_api_email_config_check_now_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/demo/upload":{"post":{"summary":"Demo Upload Live","description":"🚀 Enterprise Live Demo - Identischer Prozess wie normaler Upload.\nRate-Limited: 3 Rechnungen pro Tag pro IP (Admins unbegrenzt).","operationId":"demo_upload_live_api_demo_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_demo_upload_live_api_demo_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/demo/status":{"get":{"summary":"Demo Status","description":"Prüft verbleibende Demo-Versuche für aktuelle IP.","operationId":"demo_status_api_demo_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/demo":{"get":{"summary":"Demo Page","description":"Öffentliche Schwarzes-Loch-Demo ohne Login.","operationId":"demo_page_demo_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"summary":"Demo Start","description":"Startet die Demo und leitet auf eine statische Demo-Job-Seite um.\nHochgeladene Dateien werden in dieser kostenlosen Demo nicht dauerhaft gespeichert.","operationId":"demo_start_demo_post","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/jobs/demo":{"get":{"summary":"Demo Job","description":"Statische Job-Seite für die kostenlose Demo mit zwei Beispielrechnungen.","operationId":"demo_job_jobs_demo_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/login":{"get":{"summary":"Login Page","operationId":"login_page_login_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"summary":"Login Submit","description":"Verarbeitet das Login-Formular.\n\n- prüft Credentials\n- setzt Session\n- leitet auf gewünschte Seite weiter","operationId":"login_submit_login_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/register":{"get":{"summary":"Register Page","operationId":"register_page_register_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"summary":"Register Submit","description":"Handle registration","operationId":"register_submit_register_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/logout":{"get":{"summary":"Logout","description":"Logout und Redirect auf die SBS Homepage.\nSSO Cookie wird gelöscht für Cross-Domain Logout.","operationId":"logout_logout_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/user":{"get":{"tags":["Auth"],"summary":"Get Current User","description":"Get current logged in user","operationId":"get_current_user_api_user_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/settings":{"get":{"summary":"Unified Settings Page","description":"Unified Settings Page - für alle SBS Apps","operationId":"unified_settings_page_settings_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/profile":{"get":{"summary":"Unified Settings Page","description":"Unified Settings Page - für alle SBS Apps","operationId":"unified_settings_page_profile_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/profile":{"put":{"summary":"Update Profile","description":"Update user profile","operationId":"update_profile_api_profile_put","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/profile/password":{"put":{"summary":"Change Password","description":"Change user password","operationId":"change_password_api_profile_password_put","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/keys":{"get":{"tags":["API Keys"],"summary":"Get Api Keys","description":"Liste alle API-Keys des Users","operationId":"get_api_keys_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["API Keys"],"summary":"Create New Api Key","description":"Erstellt einen neuen API-Key","operationId":"create_new_api_key_api_keys_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/keys/{key_id}":{"delete":{"tags":["API Keys"],"summary":"Delete Api Key","description":"Widerruft einen API-Key","operationId":"delete_api_key_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/webhooks":{"get":{"tags":["Webhooks"],"summary":"Get User Webhooks","description":"Liste alle Webhooks des Users","operationId":"get_user_webhooks_api_webhooks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Webhooks"],"summary":"Create New Webhook","description":"Erstellt einen neuen Webhook","operationId":"create_new_webhook_api_webhooks_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/webhooks/{webhook_id}":{"delete":{"tags":["Webhooks"],"summary":"Delete User Webhook","description":"Löscht einen Webhook","operationId":"delete_user_webhook_api_webhooks__webhook_id__delete","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"integer","title":"Webhook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/2fa/setup":{"get":{"tags":["Auth"],"summary":"Setup 2Fa","description":"Startet 2FA-Setup und gibt QR-Code zurück","operationId":"setup_2fa_api_2fa_setup_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/2fa/verify":{"post":{"tags":["Auth"],"summary":"Verify 2Fa Setup","description":"Verifiziert Code und aktiviert 2FA","operationId":"verify_2fa_setup_api_2fa_verify_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/2fa/disable":{"post":{"tags":["Auth"],"summary":"Disable 2Fa Endpoint","description":"Deaktiviert 2FA","operationId":"disable_2fa_endpoint_api_2fa_disable_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/2fa/status":{"get":{"tags":["Settings"],"summary":"Get 2Fa Status","description":"Prüft 2FA Status für aktuellen User","operationId":"get_2fa_status_api_2fa_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/organizations":{"get":{"tags":["Organizations"],"summary":"List Organizations","description":"Liste aller Organisationen des Users","operationId":"list_organizations_api_organizations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Organizations"],"summary":"Create Org","description":"Erstellt neue Organisation","operationId":"create_org_api_organizations_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/organizations/{org_id}/switch":{"post":{"tags":["Organizations"],"summary":"Switch Org","description":"Wechselt aktive Organisation","operationId":"switch_org_api_organizations__org_id__switch_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/organizations/{org_id}/members":{"get":{"tags":["Organizations"],"summary":"List Org Members","description":"Liste Mitglieder einer Organisation","operationId":"list_org_members_api_organizations__org_id__members_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Organizations"],"summary":"Add Org Member","description":"Fügt Mitglied hinzu","operationId":"add_org_member_api_organizations__org_id__members_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/organizations/{org_id}/stats":{"get":{"tags":["Organizations"],"summary":"Org Stats","description":"Statistiken der Organisation","operationId":"org_stats_api_organizations__org_id__stats_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reports/scheduled":{"get":{"tags":["Reports"],"summary":"List Scheduled Reports","description":"Liste aller geplanten Berichte","operationId":"list_scheduled_reports_api_reports_scheduled_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Reports"],"summary":"Create Report","description":"Erstellt neuen geplanten Bericht","operationId":"create_report_api_reports_scheduled_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/reports/scheduled/{report_id}":{"delete":{"tags":["Reports"],"summary":"Remove Report","description":"Löscht geplanten Bericht","operationId":"remove_report_api_reports_scheduled__report_id__delete","parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"integer","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reports/scheduled/{report_id}/toggle":{"post":{"tags":["Reports"],"summary":"Toggle Scheduled Report","description":"Aktiviert/deaktiviert Bericht","operationId":"toggle_scheduled_report_api_reports_scheduled__report_id__toggle_post","parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"integer","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/accounting/suggest":{"post":{"tags":["Accounting"],"summary":"Suggest Booking Account","description":"KI-Kontenvorschlag für eine Rechnung","operationId":"suggest_booking_account_api_accounting_suggest_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/accounting/suggest/batch":{"post":{"tags":["Accounting"],"summary":"Suggest Accounts Batch","description":"KI-Kontenvorschläge für mehrere Rechnungen","operationId":"suggest_accounts_batch_api_accounting_suggest_batch_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/accounting/learn":{"post":{"tags":["Accounting"],"summary":"Learn Account Mapping","description":"Lernt aus User-Korrektur","operationId":"learn_account_mapping_api_accounting_learn_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/accounting/accounts":{"get":{"tags":["Accounting"],"summary":"List Accounts","description":"Liste aller verfügbaren Konten","operationId":"list_accounts_api_accounting_accounts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/export/sepa":{"post":{"tags":["Export"],"summary":"Export Sepa Xml","description":"Generiert SEPA-XML für Zahlungen","operationId":"export_sepa_xml_api_export_sepa_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/job/{job_id}/export/sepa":{"post":{"tags":["Export"],"summary":"Export Job Sepa","description":"Exportiert Job-Rechnungen als SEPA-XML","operationId":"export_job_sepa_api_job__job_id__export_sepa_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/dashboard/widgets":{"get":{"tags":["Dashboard"],"summary":"List Widgets","description":"Liste aller Widgets des Users","operationId":"list_widgets_api_dashboard_widgets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Dashboard"],"summary":"Create Widget","description":"Fügt neues Widget hinzu","operationId":"create_widget_api_dashboard_widgets_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/dashboard/widgets/{widget_id}":{"put":{"tags":["Dashboard"],"summary":"Edit Widget","description":"Aktualisiert Widget","operationId":"edit_widget_api_dashboard_widgets__widget_id__put","parameters":[{"name":"widget_id","in":"path","required":true,"schema":{"type":"integer","title":"Widget Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Dashboard"],"summary":"Delete Widget","description":"Entfernt Widget","operationId":"delete_widget_api_dashboard_widgets__widget_id__delete","parameters":[{"name":"widget_id","in":"path","required":true,"schema":{"type":"integer","title":"Widget Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/dashboard/widgets/reorder":{"post":{"tags":["Dashboard"],"summary":"Reorder Dashboard","description":"Sortiert Widgets neu","operationId":"reorder_dashboard_api_dashboard_widgets_reorder_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/dashboard/widgets/{widget_id}/data":{"get":{"tags":["Dashboard"],"summary":"Widget Data","description":"Holt Daten für ein Widget","operationId":"widget_data_api_dashboard_widgets__widget_id__data_get","parameters":[{"name":"widget_id","in":"path","required":true,"schema":{"type":"integer","title":"Widget Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/checkout/create-session":{"post":{"summary":"Create Checkout Session","description":"Create Stripe checkout session - Multi-Product Support","operationId":"create_checkout_session_api_checkout_create_session_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/checkout/success":{"get":{"summary":"Checkout Success","description":"Handle successful checkout - Multi-Product Support","operationId":"checkout_success_checkout_success_get","parameters":[{"name":"session_id","in":"query","required":false,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/checkout":{"get":{"summary":"Checkout Page","description":"Checkout-Seite die automatisch Stripe Session erstellt.\nURL: /checkout?product=contract&plan=professional","operationId":"checkout_page_checkout_get","parameters":[{"name":"product","in":"query","required":false,"schema":{"type":"string","default":"invoice","title":"Product"}},{"name":"plan","in":"query","required":false,"schema":{"type":"string","default":"starter","title":"Plan"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/subscription/status":{"get":{"summary":"Get Subscription Status","description":"Get current subscription status and usage","operationId":"get_subscription_status_api_subscription_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/subscription/cancel":{"post":{"summary":"Cancel Subscription","description":"Cancel user's subscription","operationId":"cancel_subscription_api_subscription_cancel_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/stripe/webhook":{"post":{"summary":"Stripe Webhook","description":"Handle Stripe webhook events","operationId":"stripe_webhook_api_stripe_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/invoice/{subscription_id}":{"get":{"summary":"Download Invoice","description":"Download invoice PDF for a subscription","operationId":"download_invoice_api_invoice__subscription_id__get","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contact":{"post":{"summary":"Contact Form","description":"Handle contact form submissions","operationId":"contact_form_api_contact_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/test":{"get":{"summary":"Test Upload Page","operationId":"test_upload_page_test_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/copilot":{"get":{"summary":"Copilot Page","description":"Vollbild-Finance-Copilot-Seite.","operationId":"copilot_page_copilot_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/account":{"get":{"summary":"Account Page","description":"Redirect zu unified settings - Abonnement Tab","operationId":"account_page_account_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/team":{"get":{"summary":"Team Page","description":"Team & Rollen Verwaltung","operationId":"team_page_team_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/audit-log":{"get":{"summary":"Audit Log Page","operationId":"audit_log_page_audit_log_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/accounting":{"get":{"summary":"Accounting Page","description":"Auto-Kontierung Seite","operationId":"accounting_page_accounting_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/duplicate/{detection_id}/review":{"post":{"summary":"Review Duplicate","description":"Mark duplicate as reviewed","operationId":"review_duplicate_api_duplicate__detection_id__review_post","parameters":[{"name":"detection_id","in":"path","required":true,"schema":{"type":"integer","title":"Detection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/plausibility/{check_id}/review":{"post":{"summary":"Review Plausibility","description":"Review a plausibility check","operationId":"review_plausibility_api_plausibility__check_id__review_post","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analytics/costs":{"get":{"summary":"Analytics Costs","description":"Analytics Dashboard für API-Kosten - Nur für Admins","operationId":"analytics_costs_analytics_costs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/job/{job_id}/export/comprehensive":{"get":{"summary":"Export Comprehensive Excel","description":"Download umfassendes Excel mit allen Daten","operationId":"export_comprehensive_excel_api_job__job_id__export_comprehensive_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/job/{job_id}/export/zip":{"get":{"summary":"Export Job Zip","description":"Download komplettes Paket als ZIP","operationId":"export_job_zip_api_job__job_id__export_zip_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/job/{job_id}/export/xrechnung":{"get":{"summary":"Export Job Xrechnung","description":"Download Rechnungen als XRechnung XML (EN16931)","operationId":"export_job_xrechnung_api_job__job_id__export_xrechnung_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/job/{job_id}/export/zugferd":{"get":{"tags":["Export"],"summary":"Export Job Zugferd","description":"Download Rechnungen als ZUGFeRD-PDF (PDF/A-3 mit XML)","operationId":"export_job_zugferd_api_job__job_id__export_zugferd_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/job/{job_id}":{"get":{"summary":"Job Details Page","description":"Detailed job view from in-memory jobs (laufende Session) UND Datenbank.\n- Zuerst wird in processing_jobs geschaut (aktuelle Verarbeitung)\n- Fallback: get_job(job_id) aus der Datenbank","operationId":"job_details_page_job__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/password-reset/request":{"get":{"summary":"Password Reset Request Page","description":"Zeigt Formular zum Anfordern eines Reset-Links.","operationId":"password_reset_request_page_password_reset_request_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"summary":"Password Reset Request Submit","description":"Verarbeitet Formular: erstellt Token, sendet E-Mail.","operationId":"password_reset_request_submit_password_reset_request_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_password_reset_request_submit_password_reset_request_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/password-reset/confirm":{"get":{"summary":"Password Reset Confirm Page","description":"Formular zum Setzen eines neuen Passworts (über ?token=...).","operationId":"password_reset_confirm_page_password_reset_confirm_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"summary":"Password Reset Confirm Submit","description":"Verarbeitet das Formular: setzt neues Passwort, wenn Token gültig.","operationId":"password_reset_confirm_submit_password_reset_confirm_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_password_reset_confirm_submit_password_reset_confirm_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/jobs/{job_id}":{"get":{"summary":"Demo Job Page","description":"Öffentliche Demo-Seite für einen Job. Hier kann die kostenlose Demo\nohne Login den Status einsehen (aktuell noch Platzhalter).","operationId":"demo_job_page_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/analytics/finance-snapshot":{"get":{"summary":"Api Finance Snapshot","description":"Liefert einen kompakten Finance-Überblick für Dashboard - gefiltert nach User.","operationId":"api_finance_snapshot_api_analytics_finance_snapshot_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":90,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/copilot/finance/query":{"post":{"summary":"Api Finance Copilot Query","description":"Finance Copilot Endpoint (V2 – LLM-basiert, CFO-Level)\nGefiltert nach user_id für Multi-Tenancy.","operationId":"api_finance_copilot_query_api_copilot_finance_query_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinanceCopilotRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinanceCopilotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/team/members":{"get":{"tags":["Team"],"summary":"Get Team Members","description":"Team-Mitglieder laden - Admins sehen alle, normale User nur sich selbst","operationId":"get_team_members_api_team_members_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/team/role":{"post":{"tags":["Team"],"summary":"Assign Role","description":"Rolle einem User zuweisen oder entfernen","operationId":"assign_role_api_team_role_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/team/invite":{"post":{"tags":["Team"],"summary":"Invite Team Member","description":"Neues Team-Mitglied per Email einladen","operationId":"invite_team_member_api_team_invite_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/team/invitations":{"get":{"tags":["Team"],"summary":"Get Invitations","description":"Alle offenen Einladungen laden","operationId":"get_invitations_api_team_invitations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/team/invitation/{invitation_id}":{"delete":{"tags":["Team"],"summary":"Cancel Invitation","description":"Einladung zurückziehen","operationId":"cancel_invitation_api_team_invitation__invitation_id__delete","parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"integer","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/team/member/{user_id}/status":{"put":{"tags":["Team"],"summary":"Update Member Status","description":"User aktivieren/deaktivieren","operationId":"update_member_status_api_team_member__user_id__status_put","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/audit-log":{"get":{"tags":["Audit"],"summary":"Get Audit Log","description":"Audit-Log Einträge laden - Admins sehen alles, andere nur eigene","operationId":"get_audit_log_api_audit_log_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"action","in":"query","required":false,"schema":{"type":"string","default":"","title":"Action"}},{"name":"days","in":"query","required":false,"schema":{"type":"string","default":"7","title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/settings":{"get":{"tags":["Settings"],"summary":"Get Notification Settings","description":"Holt Benachrichtigungseinstellungen aus DB","operationId":"get_notification_settings_api_notifications_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Settings"],"summary":"Update Notification Settings","description":"Aktualisiert Benachrichtigungseinstellungen","operationId":"update_notification_settings_api_notifications_settings_put","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/slack":{"post":{"tags":["Settings"],"summary":"Save Slack Settings","description":"Speichert Slack Webhook URL","operationId":"save_slack_settings_api_settings_slack_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/slack/test":{"post":{"tags":["Settings"],"summary":"Test Slack Webhook","description":"Testet Slack Webhook URL","operationId":"test_slack_webhook_api_settings_slack_test_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/weekly-report":{"post":{"tags":["Settings"],"summary":"Save Weekly Report Settings","description":"Speichert Woechentlicher Report Einstellungen","operationId":"save_weekly_report_settings_api_settings_weekly_report_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/reports/send-now":{"post":{"tags":["Settings"],"summary":"Send Report Now","description":"Sendet sofort einen woechentlichen Report","operationId":"send_report_now_api_reports_send_now_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/profile/company":{"put":{"tags":["Settings"],"summary":"Update Company Profile","description":"Aktualisiert Firmendaten","operationId":"update_company_profile_api_profile_company_put","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/billing/portal":{"post":{"tags":["Billing"],"summary":"Create Billing Portal","description":"Erstellt Stripe Billing Portal Session","operationId":"create_billing_portal_api_billing_portal_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/subscription":{"get":{"tags":["Settings"],"summary":"Get Subscription Info","description":"Holt Abo-Informationen für alle SBS Produkte","operationId":"get_subscription_info_api_subscription_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/pricing":{"get":{"summary":"Pricing Page","description":"Preisübersicht","operationId":"pricing_page_pricing_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/billing":{"get":{"summary":"Billing Page","description":"Billing/Abrechnung - Redirect zu Settings","operationId":"billing_page_billing_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/export-historie":{"get":{"summary":"Export History Page","description":"Export-Historie","operationId":"export_history_page_export_historie_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/help":{"get":{"summary":"Help Page","description":"Hilfe & FAQ","operationId":"help_page_help_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/hilfe":{"get":{"summary":"Help Page","description":"Hilfe & FAQ","operationId":"help_page_hilfe_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/contact":{"get":{"summary":"Contact Page","description":"Kontaktseite","operationId":"contact_page_contact_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/kontakt":{"get":{"summary":"Contact Page","description":"Kontaktseite","operationId":"contact_page_kontakt_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/security":{"get":{"summary":"Security Page","description":"2FA Verwaltung - Redirect zu Settings","operationId":"security_page_security_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/copilot-demo":{"get":{"summary":"Copilot Demo Page","description":"Öffentliche Finance Copilot Demo - keine Registrierung erforderlich","operationId":"copilot_demo_page_copilot_demo_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/demo/copilot":{"get":{"summary":"Copilot Demo Page","description":"Öffentliche Finance Copilot Demo - keine Registrierung erforderlich","operationId":"copilot_demo_page_demo_copilot_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/demo/copilot/status":{"get":{"summary":"Copilot Demo Status","description":"Prüft Demo-Nutzung für Finance Copilot","operationId":"copilot_demo_status_api_demo_copilot_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/demo/copilot/query":{"post":{"summary":"Copilot Demo Query","description":"Finance Copilot Demo Query mit Rate-Limiting","operationId":"copilot_demo_query_api_demo_copilot_query_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/approvals":{"get":{"tags":["Approvals"],"summary":"Approvals Page","description":"Freigabe-Queue Übersicht","operationId":"approvals_page_approvals_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/approvals/my":{"get":{"tags":["Approvals"],"summary":"My Approvals Page","description":"Meine zugewiesenen Freigaben","operationId":"my_approvals_page_approvals_my_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/approvals/{invoice_id}/approve":{"post":{"tags":["Approvals"],"summary":"Approve Invoice","description":"Rechnung freigeben","operationId":"approve_invoice_api_approvals__invoice_id__approve_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_approve_invoice_api_approvals__invoice_id__approve_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/approvals/{invoice_id}/reject":{"post":{"tags":["Approvals"],"summary":"Reject Invoice","description":"Rechnung ablehnen","operationId":"reject_invoice_api_approvals__invoice_id__reject_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_reject_invoice_api_approvals__invoice_id__reject_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/approvals/{invoice_id}/assign":{"post":{"tags":["Approvals"],"summary":"Assign Invoice","description":"Rechnung einem Benutzer zuweisen","operationId":"assign_invoice_api_approvals__invoice_id__assign_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_assign_invoice_api_approvals__invoice_id__assign_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/approvals/{invoice_id}/comment":{"post":{"tags":["Approvals"],"summary":"Add Invoice Comment","description":"Kommentar zu einer Rechnung hinzufügen","operationId":"add_invoice_comment_api_approvals__invoice_id__comment_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_add_invoice_comment_api_approvals__invoice_id__comment_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/approvals/{invoice_id}/history":{"get":{"tags":["Approvals"],"summary":"Get Invoice Approval History","description":"Holt die Freigabe-Historie einer Rechnung","operationId":"get_invoice_approval_history_api_approvals__invoice_id__history_get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/approvals/bulk-approve":{"post":{"tags":["Approvals"],"summary":"Bulk Approve Invoices","description":"Mehrere Rechnungen auf einmal freigeben","operationId":"bulk_approve_invoices_api_approvals_bulk_approve_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/approvals/stats":{"get":{"tags":["Approvals"],"summary":"Get Approval Stats Api","description":"Holt Freigabe-Statistiken","operationId":"get_approval_stats_api_api_approvals_stats_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/approvals/rules":{"get":{"tags":["Approvals"],"summary":"Approval Rules Page","description":"Freigabe-Regeln verwalten","operationId":"approval_rules_page_approvals_rules_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/approvals/rules":{"post":{"tags":["Approvals"],"summary":"Create Approval Rule","description":"Neue Freigabe-Regel erstellen","operationId":"create_approval_rule_api_approvals_rules_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/approvals/rules/{rule_id}":{"put":{"tags":["Approvals"],"summary":"Update Approval Rule","description":"Freigabe-Regel aktualisieren","operationId":"update_approval_rule_api_approvals_rules__rule_id__put","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"integer","title":"Rule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Approvals"],"summary":"Delete Approval Rule","description":"Freigabe-Regel löschen","operationId":"delete_approval_rule_api_approvals_rules__rule_id__delete","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"integer","title":"Rule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/datev":{"get":{"tags":["DATEV"],"summary":"Datev Export Page","operationId":"datev_export_page_datev_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/datev/export":{"post":{"tags":["DATEV"],"summary":"Export To Datev","description":"Exportiert ausgewählte Rechnungen nach DATEV","operationId":"export_to_datev_api_datev_export_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/datev/download/{filename}":{"get":{"tags":["DATEV"],"summary":"Download Datev Export","description":"Download einer DATEV Export-Datei","operationId":"download_datev_export_api_datev_download__filename__get","parameters":[{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/datev/preview":{"get":{"tags":["DATEV"],"summary":"Preview Datev Export","description":"Vorschau der DATEV-Buchung für eine Rechnung","operationId":"preview_datev_export_api_datev_preview_get","parameters":[{"name":"invoice_id","in":"query","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["DATEV"],"summary":"Preview Datev Export","description":"Vorschau der DATEV-Buchung für eine Rechnung","operationId":"preview_datev_export_api_datev_preview_post","parameters":[{"name":"invoice_id","in":"query","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/kontierung/vorschau":{"post":{"tags":["Kontierung"],"summary":"Get Buchungsvorschau","description":"Erstellt intelligente Buchungsvorschau für ausgewählte Rechnungen.\nNutzt Lernalgorithmus aus bisherigen Kontierungen.","operationId":"get_buchungsvorschau_api_kontierung_vorschau_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/kontierung/suggest":{"post":{"tags":["Kontierung"],"summary":"Suggest Kontierung","description":"Schlägt Buchungskonto für eine einzelne Rechnung vor.\nBerücksichtigt gelernte Kontierungen.","operationId":"suggest_kontierung_api_kontierung_suggest_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/kontierung/save":{"post":{"tags":["Kontierung"],"summary":"Save Kontierung","description":"Speichert eine Kontierungsentscheidung für den Lernalgorithmus.\nWird aufgerufen wenn Benutzer ein Konto bestätigt oder korrigiert.","operationId":"save_kontierung_api_kontierung_save_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/kontierung/konten":{"get":{"tags":["Kontierung"],"summary":"Get Kontenrahmen","description":"Gibt verfügbare Konten für den gewählten Kontenrahmen zurück.","operationId":"get_kontenrahmen_api_kontierung_konten_get","parameters":[{"name":"skr","in":"query","required":false,"schema":{"type":"string","default":"SKR03","title":"Skr"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/kontierung/historie":{"get":{"tags":["Kontierung"],"summary":"Get Kontierung Historie","description":"Zeigt die letzten Kontierungsentscheidungen (für Audit/Debugging).","operationId":"get_kontierung_historie_api_kontierung_historie_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zahlungen":{"get":{"tags":["Zahlungen"],"summary":"Zahlungen Dashboard","description":"Zahlungsübersicht & Skonto-Dashboard","operationId":"zahlungen_dashboard_zahlungen_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/zahlungen/dashboard":{"get":{"tags":["Zahlungen"],"summary":"Api Zahlungen Dashboard","description":"API: Zahlungs-Dashboard Daten","operationId":"api_zahlungen_dashboard_api_zahlungen_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/zahlungen/offene":{"get":{"tags":["Zahlungen"],"summary":"Api Offene Zahlungen","description":"API: Liste aller offenen Zahlungen mit Empfehlungen","operationId":"api_offene_zahlungen_api_zahlungen_offene_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/zahlungen/skonto-chancen":{"get":{"tags":["Zahlungen"],"summary":"Api Skonto Chancen","description":"API: Aktuelle Skonto-Möglichkeiten","operationId":"api_skonto_chancen_api_zahlungen_skonto_chancen_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/zahlungen/analysieren":{"post":{"tags":["Zahlungen"],"summary":"Api Zahlungen Analysieren","description":"API: Analysiert Rechnungen und extrahiert Zahlungsbedingungen","operationId":"api_zahlungen_analysieren_api_zahlungen_analysieren_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/zahlungen/status":{"post":{"tags":["Zahlungen"],"summary":"Api Zahlung Status Update","description":"API: Zahlungsstatus aktualisieren","operationId":"api_zahlung_status_update_api_zahlungen_status_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/zahlungen/statistik":{"get":{"tags":["Zahlungen"],"summary":"Api Zahlungen Statistik","description":"API: Zahlungsstatistiken über Zeit","operationId":"api_zahlungen_statistik_api_zahlungen_statistik_get","parameters":[{"name":"monate","in":"query","required":false,"schema":{"type":"integer","default":6,"title":"Monate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/zahlungen/export/sepa":{"get":{"tags":["Zahlungen"],"summary":"Api Zahlungen Sepa Export","description":"API: SEPA-XML Export für ausgewählte Zahlungen","operationId":"api_zahlungen_sepa_export_api_zahlungen_export_sepa_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/zugferd":{"get":{"tags":["Landing"],"summary":"Erechnung Landing","description":"E-Rechnung 2025 Landing Page - SEO optimiert","operationId":"erechnung_landing_zugferd_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/xrechnung":{"get":{"tags":["Landing"],"summary":"Erechnung Landing","description":"E-Rechnung 2025 Landing Page - SEO optimiert","operationId":"erechnung_landing_xrechnung_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/e-rechnung":{"get":{"tags":["Landing"],"summary":"Erechnung Landing","description":"E-Rechnung 2025 Landing Page - SEO optimiert","operationId":"erechnung_landing_e_rechnung_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/e-rechnung-2025":{"get":{"tags":["Landing"],"summary":"Erechnung Landing","description":"E-Rechnung 2025 Landing Page - SEO optimiert","operationId":"erechnung_landing_e_rechnung_2025_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/integrations":{"get":{"tags":["Integrations"],"summary":"Integrations Page","description":"Integrations Settings Page","operationId":"integrations_page_integrations_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/integrations/test":{"post":{"tags":["Integrations"],"summary":"Test Integration","description":"Test integration connection","operationId":"test_integration_api_integrations_test_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/integrations/save":{"post":{"tags":["Integrations"],"summary":"Save Integration","description":"Save integration settings","operationId":"save_integration_api_integrations_save_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/integrations/sync":{"post":{"tags":["Integrations"],"summary":"Sync To Integration","description":"Sync invoices to external system","operationId":"sync_to_integration_api_integrations_sync_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/dashboard-analysis":{"get":{"summary":"Get Ai Dashboard Analysis","description":"AI CFO Dashboard-Analyse mit ECHTEN Budget-Daten","operationId":"get_ai_dashboard_analysis_api_ai_dashboard_analysis_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/drilldown":{"get":{"summary":"Get Ai Drilldown","operationId":"get_ai_drilldown_api_ai_drilldown_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/ai/chat":{"post":{"summary":"Chat With Cfo","description":"Interaktiver CFO-Chat mit Echtzeit-Datenbankzugriff","operationId":"chat_with_cfo_api_ai_chat_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mbr":{"get":{"summary":"Mbr Page","description":"Enterprise MBR Dashboard with date selection.","operationId":"mbr_page_mbr_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/nexus/process-invoice":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Process Invoice","operationId":"process_invoice_api_nexus_process_invoice_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceProcessRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceProcessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/classify-document":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Classify Document","operationId":"classify_document_api_nexus_classify_document_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentClassifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentClassifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/health":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Health Check","operationId":"health_check_api_nexus_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/nexus/info":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Api Info","operationId":"api_info_api_nexus_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/nexus/stats":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get Stats","description":"Dashboard Statistiken","operationId":"get_stats_api_nexus_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/nexus/auth/login":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Login","description":"User Login für Dashboard","operationId":"login_api_nexus_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/auth/me":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get Current User","description":"Aktuellen User abrufen","operationId":"get_current_user_api_nexus_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/stats/{user_id}":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get User Stats","description":"User-spezifische Dashboard Statistiken","operationId":"get_user_stats_api_nexus_stats__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/users":{"get":{"tags":["Nexus Gateway Integration"],"summary":"List Users","description":"Alle User auflisten (nur Admin)","operationId":"list_users_api_nexus_admin_users_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Nexus Gateway Integration"],"summary":"Create User","description":"Neuen User erstellen (nur Admin)","operationId":"create_user_api_nexus_admin_users_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/users/{user_id}":{"delete":{"tags":["Nexus Gateway Integration"],"summary":"Delete User","description":"User löschen (nur Admin)","operationId":"delete_user_api_nexus_admin_users__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Nexus Gateway Integration"],"summary":"Update User","description":"User bearbeiten (nur Admin)","operationId":"update_user_api_nexus_admin_users__user_id__put","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/reset-password":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Reset Password","description":"Passwort zurücksetzen (nur Admin)","operationId":"reset_password_api_nexus_admin_reset_password_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/activity/{user_id}":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get User Activity","description":"Letzte Aktivitäten eines Users","operationId":"get_user_activity_api_nexus_activity__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/auth/register":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Register","description":"Neuen User registrieren","operationId":"register_api_nexus_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/auth/forgot-password":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Forgot Password","description":"Passwort-Reset anfordern","operationId":"forgot_password_api_nexus_auth_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/auth/reset-password-token":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Reset Password With Token","description":"Passwort mit Token zurücksetzen","operationId":"reset_password_with_token_api_nexus_auth_reset_password_token_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordTokenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/auth/verify-email":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Verify Email","description":"E-Mail verifizieren","operationId":"verify_email_api_nexus_auth_verify_email_post","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/health/services":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Health Services","description":"Live health check für alle Services","operationId":"health_services_api_nexus_health_services_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/nexus/stats/{user_id}/monthly":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get Monthly Stats","description":"Monatliche Statistiken für Charts","operationId":"get_monthly_stats_api_nexus_stats__user_id__monthly_get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/stats":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Admin Stats","description":"Platform-weite Statistiken für Admins","operationId":"admin_stats_api_nexus_admin_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/nexus/notifications/{user_id}":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get Notifications","description":"User Notifications abrufen","operationId":"get_notifications_api_nexus_notifications__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/notifications/{notification_id}/read":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Mark Notification Read","description":"Notification als gelesen markieren","operationId":"mark_notification_read_api_nexus_notifications__notification_id__read_post","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"integer","title":"Notification Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/notifications/{user_id}/read-all":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Mark All Read","description":"Alle Notifications als gelesen markieren","operationId":"mark_all_read_api_nexus_notifications__user_id__read_all_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/notifications/create":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Create Notification","description":"Notification erstellen (für System/Admin)","operationId":"create_notification_api_nexus_notifications_create_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/notifications/admin/broadcast":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Broadcast Notification","description":"Admin: Nachricht an alle User senden","operationId":"broadcast_notification_api_nexus_notifications_admin_broadcast_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/audit-logs":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get Audit Logs","description":"Audit Logs abrufen (nur Admin)","operationId":"get_audit_logs_api_nexus_admin_audit_logs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/audit-logs/export":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Export Audit Logs","description":"Audit Logs als CSV exportieren","operationId":"export_audit_logs_api_nexus_admin_audit_logs_export_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/webhooks":{"get":{"tags":["Nexus Gateway Integration"],"summary":"List Webhooks","description":"Alle Webhooks auflisten","operationId":"list_webhooks_api_nexus_admin_webhooks_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Nexus Gateway Integration"],"summary":"Create Webhook","description":"Neuen Webhook erstellen","operationId":"create_webhook_api_nexus_admin_webhooks_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/webhooks/{webhook_id}":{"delete":{"tags":["Nexus Gateway Integration"],"summary":"Delete Webhook","description":"Webhook löschen","operationId":"delete_webhook_api_nexus_admin_webhooks__webhook_id__delete","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"integer","title":"Webhook Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/webhooks/{webhook_id}/test":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Test Webhook","description":"Webhook testen","operationId":"test_webhook_api_nexus_admin_webhooks__webhook_id__test_post","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"integer","title":"Webhook Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/admin/webhook-stats":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get Webhook Stats","description":"Webhook Statistiken für Admin Dashboard","operationId":"get_webhook_stats_api_nexus_admin_webhook_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/maintenance/analyze":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Analyze Maintenance Request","description":"Smart Maintenance Alert - Hauptendpoint\n\nTechniker lädt Bild hoch → System liefert komplette Handlungsempfehlung\n\nBody (JSON):\n- image_base64: Base64-kodiertes Bild (required)\n- technician_notes: Notizen vom Techniker (optional)\n- location: Standort/Maschine (optional)\n- machine_id: Maschinen-ID (optional)\n- urgency: low|normal|high|critical (default: normal)\n- use_hydraulikdoc: true|false (default: true)\n\nReturns komplettes Maintenance-Alert Objekt mit:\n- Teilerkennung (KI-basiert)\n- Rechnungshistorie\n- Vertragsinfo/Garantiestatus\n- Handlungsempfehlung\n- Kostenprognose","operationId":"analyze_maintenance_request_api_nexus_maintenance_analyze_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/maintenance/requests":{"get":{"tags":["Nexus Gateway Integration"],"summary":"List Maintenance Requests","description":"Liste aller Maintenance Requests des Users\n\nQuery params:\n- status: Filter by status (pending, completed, error)\n- limit: Max results (default 50)","operationId":"list_maintenance_requests_api_nexus_maintenance_requests_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/maintenance/requests/{request_id}":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get Maintenance Request","description":"Einzelnen Maintenance Request abrufen","operationId":"get_maintenance_request_api_nexus_maintenance_requests__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/maintenance/search-parts":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Search Parts History","description":"Suche in Rechnungen/Verträgen nach Teilen\n\nBody:\n- search_terms: Liste von Suchbegriffen\n- include_invoices: true/false\n- include_contracts: true/false","operationId":"search_parts_history_api_nexus_maintenance_search_parts_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/maintenance/stats":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Get Maintenance Stats","description":"Statistiken zu Maintenance Requests","operationId":"get_maintenance_stats_api_nexus_maintenance_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/analytics/spend/overview":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Api Spend Overview","description":"Comprehensive spend analytics dashboard","operationId":"api_spend_overview_api_nexus_analytics_spend_overview_get","parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","default":12,"title":"Months"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/analytics/spend/supplier/{supplier_name}":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Api Supplier Deep Dive","description":"Deep dive analysis for a specific supplier","operationId":"api_supplier_deep_dive_api_nexus_analytics_spend_supplier__supplier_name__get","parameters":[{"name":"supplier_name","in":"path","required":true,"schema":{"type":"string","title":"Supplier Name"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/analytics/spend/forecast":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Api Spend Forecast","description":"Predictive spend forecast","operationId":"api_spend_forecast_api_nexus_analytics_spend_forecast_get","parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","default":3,"title":"Months"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/analytics/alerts/run":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Api Run Spend Analysis","description":"Trigger spend analysis engine — generates alerts","operationId":"api_run_spend_analysis_api_nexus_analytics_alerts_run_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/analytics/alerts":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Api Get Alerts","description":"Get active spend alerts","operationId":"api_get_alerts_api_nexus_analytics_alerts_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/analytics/alerts/{alert_id}/acknowledge":{"post":{"tags":["Nexus Gateway Integration"],"summary":"Api Acknowledge Alert","description":"Acknowledge a spend alert","operationId":"api_acknowledge_alert_api_nexus_analytics_alerts__alert_id__acknowledge_post","parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nexus/analytics/budgets":{"get":{"tags":["Nexus Gateway Integration"],"summary":"Api Get Budgets","description":"List budgets with utilization","operationId":"api_get_budgets_api_nexus_analytics_budgets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Nexus Gateway Integration"],"summary":"Api Set Budget","description":"Create/update budget","operationId":"api_set_budget_api_nexus_analytics_budgets_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/spend-analytics":{"get":{"summary":"Spend Analytics Page","description":"Spend Intelligence Dashboard","operationId":"spend_analytics_page_spend_analytics_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/internal/spend/overview":{"get":{"summary":"Internal Spend Overview","operationId":"internal_spend_overview_api_internal_spend_overview_get","parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","default":12,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/internal/spend/alerts":{"get":{"summary":"Internal Spend Alerts","operationId":"internal_spend_alerts_api_internal_spend_alerts_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/internal/spend/forecast":{"get":{"summary":"Internal Spend Forecast","operationId":"internal_spend_forecast_api_internal_spend_forecast_get","parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","default":3,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/internal/spend/budgets":{"get":{"summary":"Internal Spend Budgets","operationId":"internal_spend_budgets_api_internal_spend_budgets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/internal/spend/alerts/run":{"post":{"summary":"Internal Spend Run","operationId":"internal_spend_run_api_internal_spend_alerts_run_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/internal/spend/alerts/{alert_id}/acknowledge":{"post":{"summary":"Internal Spend Ack","operationId":"internal_spend_ack_api_internal_spend_alerts__alert_id__acknowledge_post","parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/internal/spend/supplier/{name}":{"get":{"summary":"Internal Spend Supplier","operationId":"internal_spend_supplier_api_internal_spend_supplier__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_add_invoice_comment_api_approvals__invoice_id__comment_post":{"properties":{"comment":{"type":"string","title":"Comment"}},"type":"object","required":["comment"],"title":"Body_add_invoice_comment_api_approvals__invoice_id__comment_post"},"Body_api_freigabe_approve_api_freigaben__request_id__approve_post":{"properties":{"comment":{"type":"string","title":"Comment"},"csrf_token":{"type":"string","title":"Csrf Token"}},"type":"object","title":"Body_api_freigabe_approve_api_freigaben__request_id__approve_post"},"Body_api_soft_delete_api_invoices__invoice_id__soft_delete_post":{"properties":{"reason":{"type":"string","title":"Reason"},"csrf_token":{"type":"string","title":"Csrf Token"}},"type":"object","required":["reason"],"title":"Body_api_soft_delete_api_invoices__invoice_id__soft_delete_post"},"Body_approve_invoice_api_approvals__invoice_id__approve_post":{"properties":{"comment":{"type":"string","title":"Comment"}},"type":"object","title":"Body_approve_invoice_api_approvals__invoice_id__approve_post"},"Body_assign_invoice_api_approvals__invoice_id__assign_post":{"properties":{"assignee_id":{"type":"integer","title":"Assignee Id"}},"type":"object","required":["assignee_id"],"title":"Body_assign_invoice_api_approvals__invoice_id__assign_post"},"Body_demo_upload_live_api_demo_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_demo_upload_live_api_demo_upload_post"},"Body_dsgvo_settings_save_dsgvo_einstellungen_post":{"properties":{"retention_years":{"type":"integer","title":"Retention Years"},"csrf_token":{"type":"string","title":"Csrf Token"}},"type":"object","required":["retention_years"],"title":"Body_dsgvo_settings_save_dsgvo_einstellungen_post"},"Body_freigabe_approve_freigaben__request_id__approve_post":{"properties":{"csrf_token":{"type":"string","title":"Csrf Token"},"comment":{"type":"string","title":"Comment"}},"type":"object","title":"Body_freigabe_approve_freigaben__request_id__approve_post"},"Body_freigabe_reject_freigaben__request_id__reject_post":{"properties":{"csrf_token":{"type":"string","title":"Csrf Token"},"comment":{"type":"string","title":"Comment"}},"type":"object","title":"Body_freigabe_reject_freigaben__request_id__reject_post"},"Body_freigabe_save_rules_freigaben_regeln_post":{"properties":{"csrf_token":{"type":"string","title":"Csrf Token"},"t1":{"type":"number","title":"T1"},"r1":{"type":"string","title":"R1"},"t2":{"type":"number","title":"T2"},"r2":{"type":"string","title":"R2"},"r3":{"type":"string","title":"R3"}},"type":"object","required":["t1","r1","t2","r2","r3"],"title":"Body_freigabe_save_rules_freigaben_regeln_post"},"Body_password_reset_confirm_submit_password_reset_confirm_post":{"properties":{"token":{"type":"string","title":"Token"},"new_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Password"},"confirm_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confirm Password"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"password_confirm":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password Confirm"},"csrf_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Csrf Token"}},"type":"object","required":["token"],"title":"Body_password_reset_confirm_submit_password_reset_confirm_post"},"Body_password_reset_request_submit_password_reset_request_post":{"properties":{"email":{"type":"string","title":"Email"},"csrf_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Csrf Token"}},"type":"object","required":["email"],"title":"Body_password_reset_request_submit_password_reset_request_post"},"Body_reject_invoice_api_approvals__invoice_id__reject_post":{"properties":{"comment":{"type":"string","title":"Comment"}},"type":"object","title":"Body_reject_invoice_api_approvals__invoice_id__reject_post"},"Body_upload_files_api_upload_post":{"properties":{"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files","default":[]}},"type":"object","title":"Body_upload_files_api_upload_post"},"Body_upload_files_upload_post":{"properties":{"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files","default":[]}},"type":"object","title":"Body_upload_files_upload_post"},"BudgetCopyRequest":{"properties":{"von_jahr":{"type":"integer","title":"Von Jahr"},"von_monat":{"type":"integer","title":"Von Monat"},"nach_jahr":{"type":"integer","title":"Nach Jahr"},"nach_monat":{"type":"integer","title":"Nach Monat"},"prozent_aenderung":{"type":"number","title":"Prozent Aenderung","default":0}},"type":"object","required":["von_jahr","von_monat","nach_jahr","nach_monat"],"title":"BudgetCopyRequest"},"BudgetSetRequest":{"properties":{"kategorie_id":{"type":"integer","title":"Kategorie Id"},"jahr":{"type":"integer","title":"Jahr"},"monat":{"type":"integer","title":"Monat"},"betrag":{"type":"number","title":"Betrag"},"notiz":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notiz"}},"type":"object","required":["kategorie_id","jahr","monat","betrag"],"title":"BudgetSetRequest"},"CreateUserRequest":{"properties":{"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name"},"password":{"type":"string","title":"Password"},"is_admin":{"type":"boolean","title":"Is Admin","default":false}},"type":"object","required":["email","name","password"],"title":"CreateUserRequest"},"DocumentClassifyRequest":{"properties":{"content":{"type":"string","title":"Content"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"},"encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encoding","default":"text"}},"type":"object","required":["content"],"title":"DocumentClassifyRequest"},"DocumentClassifyResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"category":{"type":"string","title":"Category"},"confidence":{"type":"number","title":"Confidence"},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details"}},"type":"object","required":["success","category","confidence"],"title":"DocumentClassifyResponse"},"FinanceCopilotRequest":{"properties":{"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question"},"days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days","default":90},"focus":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Focus"}},"type":"object","title":"FinanceCopilotRequest"},"FinanceCopilotResponse":{"properties":{"answer":{"type":"string","title":"Answer"},"question":{"type":"string","title":"Question"},"days":{"type":"integer","title":"Days"},"snapshot":{"additionalProperties":true,"type":"object","title":"Snapshot"},"suggested_questions":{"items":{},"type":"array","title":"Suggested Questions"}},"type":"object","required":["answer","question","days","snapshot","suggested_questions"],"title":"FinanceCopilotResponse"},"ForgotPasswordRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"ForgotPasswordRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InvoiceProcessRequest":{"properties":{"content":{"type":"string","title":"Content"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"},"encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encoding","default":"text"},"vendor_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Hint"}},"type":"object","required":["content"],"title":"InvoiceProcessRequest"},"InvoiceProcessResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"provider":{"type":"string","title":"Provider"},"model":{"type":"string","title":"Model"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["success","provider","model","data"],"title":"InvoiceProcessResponse"},"JobStatus":{"type":"string","enum":["uploaded","pending","processing","completed","failed"],"title":"JobStatus"},"JobStatusResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"$ref":"#/components/schemas/JobStatus"},"progress":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Progress","default":0},"total":{"type":"integer","title":"Total","default":0},"processed":{"type":"integer","title":"Processed","default":0},"successful":{"type":"integer","title":"Successful","default":0},"failed_count":{"type":"integer","title":"Failed Count","default":0}},"type":"object","required":["job_id","status"],"title":"JobStatusResponse","description":"Response für Job-Status-Abfrage"},"LoginRequest":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"RegisterRequest":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["name","email","password"],"title":"RegisterRequest"},"ResetPasswordRequest":{"properties":{"user_id":{"type":"integer","title":"User Id"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["user_id","new_password"],"title":"ResetPasswordRequest"},"ResetPasswordTokenRequest":{"properties":{"token":{"type":"string","title":"Token"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["token","new_password"],"title":"ResetPasswordTokenRequest"},"UpdateUserRequest":{"properties":{"name":{"type":"string","title":"Name"},"is_admin":{"type":"boolean","title":"Is Admin"}},"type":"object","required":["name","is_admin"],"title":"UpdateUserRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}