{"openapi":"3.1.0","info":{"title":"E-Rechnungs-Bridge API","description":"Bridge zwischen bestehender Software und E-Rechnungsformaten (XRechnung UBL/CII, ZUGFeRD). Alle Beträge sind Strings mit Dezimalpunkt.","version":"1.0.0"},"paths":{"/api/v1/auth/register":{"post":{"tags":["auth"],"summary":"Register","operationId":"register_api_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_api_v1_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/v1/auth/switch":{"post":{"tags":["auth"],"summary":"Switch Organization","operationId":"switch_organization_api_v1_auth_switch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchOrganizationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["auth"],"summary":"Logout","operationId":"logout_api_v1_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_api_v1_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/verify-email":{"post":{"tags":["auth"],"summary":"Verify Email","operationId":"verify_email_api_v1_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/v1/auth/password-reset":{"post":{"tags":["auth"],"summary":"Password Reset","operationId":"password_reset_api_v1_auth_password_reset_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/password-reset/confirm":{"post":{"tags":["auth"],"summary":"Password Reset Confirm","operationId":"password_reset_confirm_api_v1_auth_password_reset_confirm_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetConfirm"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization":{"get":{"tags":["organization"],"summary":"Get Organization","operationId":"get_organization_api_v1_organization_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"patch":{"tags":["organization"],"summary":"Update Organization","operationId":"update_organization_api_v1_organization_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/users":{"get":{"tags":["organization"],"summary":"List Users","operationId":"list_users_api_v1_organization_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/organization/users/invite":{"post":{"tags":["organization"],"summary":"Invite User","operationId":"invite_user_api_v1_organization_users_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/users/accept-invite":{"post":{"tags":["organization"],"summary":"Accept Invite","operationId":"accept_invite_api_v1_organization_users_accept_invite_post","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}},{"name":"password","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},{"name":"display_name","in":"query","required":false,"schema":{"type":"string","default":"","title":"Display Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/users/{user_id}":{"patch":{"tags":["organization"],"summary":"Update Role","operationId":"update_role_api_v1_organization_users__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["organization"],"summary":"Remove User","operationId":"remove_user_api_v1_organization_users__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/api-keys":{"get":{"tags":["organization"],"summary":"List Api Keys","operationId":"list_api_keys_api_v1_organization_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["organization"],"summary":"Create Api Key","operationId":"create_api_key_api_v1_organization_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/api-keys/{key_id}":{"delete":{"tags":["organization"],"summary":"Revoke Api Key","operationId":"revoke_api_key_api_v1_organization_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/webhooks":{"get":{"tags":["organization"],"summary":"List Webhooks","operationId":"list_webhooks_api_v1_organization_webhooks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["organization"],"summary":"Create Webhook","operationId":"create_webhook_api_v1_organization_webhooks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/webhooks/{webhook_id}":{"delete":{"tags":["organization"],"summary":"Delete Webhook","operationId":"delete_webhook_api_v1_organization_webhooks__webhook_id__delete","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/webhooks/{webhook_id}/deliveries":{"get":{"tags":["organization"],"summary":"Webhook Deliveries","operationId":"webhook_deliveries_api_v1_organization_webhooks__webhook_id__deliveries_get","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"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/v1/organization/webhooks/{webhook_id}/deliveries/{delivery_id}/retry":{"post":{"tags":["organization"],"summary":"Retry Delivery","operationId":"retry_delivery_api_v1_organization_webhooks__webhook_id__deliveries__delivery_id__retry_post","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}},{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/contacts":{"get":{"tags":["organization"],"summary":"List Contacts","operationId":"list_contacts_api_v1_organization_contacts_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["organization"],"summary":"Create Contact","operationId":"create_contact_api_v1_organization_contacts_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/contacts/{contact_id}":{"put":{"tags":["organization"],"summary":"Update Contact","operationId":"update_contact_api_v1_organization_contacts__contact_id__put","parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["organization"],"summary":"Delete Contact","operationId":"delete_contact_api_v1_organization_contacts__contact_id__delete","parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/organization/usage":{"get":{"tags":["organization"],"summary":"Get Usage","operationId":"get_usage_api_v1_organization_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/organization/audit-log":{"get":{"tags":["organization"],"summary":"Audit Log","operationId":"audit_log_api_v1_organization_audit_log_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":100,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"invoice_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"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/v1/organization/export":{"get":{"tags":["organization"],"summary":"Export Organization","description":"Vollständiger Export aller Daten des Mandanten als JSON (Datenübertragbarkeit, Auskunft).","operationId":"export_organization_api_v1_organization_export_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/organization/delete":{"post":{"tags":["organization"],"summary":"Delete Organization","description":"Löscht den Mandanten endgültig: Rechnungen, Dateien, Schlüssel, Webhooks, Kontakte, Audit-Einträge und Benutzer,\ndie keinem anderen Mandanten mehr angehören. Erfordert Owner-Rolle, Passwort und den exakten Mandantennamen.","operationId":"delete_organization_api_v1_organization_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices":{"post":{"tags":["invoices"],"summary":"Upload Invoice","operationId":"upload_invoice_api_v1_invoices_post","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_invoice_api_v1_invoices_post"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["invoices"],"summary":"List Invoices","operationId":"list_invoices_api_v1_invoices_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"processing_state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Processing State"}},{"name":"validation_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Status"}},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/{invoice_id}":{"get":{"tags":["invoices"],"summary":"Get Invoice","operationId":"get_invoice_api_v1_invoices__invoice_id__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["invoices"],"summary":"Delete Invoice","operationId":"delete_invoice_api_v1_invoices__invoice_id__delete","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/{invoice_id}/revisions":{"get":{"tags":["invoices"],"summary":"List Revisions","operationId":"list_revisions_api_v1_invoices__invoice_id__revisions_get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","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/v1/invoices/{invoice_id}/revisions/{number}":{"get":{"tags":["invoices"],"summary":"Get Revision","operationId":"get_revision_api_v1_invoices__invoice_id__revisions__number__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}},{"name":"number","in":"path","required":true,"schema":{"type":"integer","title":"Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/{invoice_id}/data":{"patch":{"tags":["invoices"],"summary":"Update Data","operationId":"update_data_api_v1_invoices__invoice_id__data_patch","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}},{"name":"If-Match","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"If-Match"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/{invoice_id}/approve":{"post":{"tags":["invoices"],"summary":"Approve","operationId":"approve_api_v1_invoices__invoice_id__approve_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","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/v1/invoices/{invoice_id}/validations":{"post":{"tags":["invoices"],"summary":"Create Validation","operationId":"create_validation_api_v1_invoices__invoice_id__validations_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationCreate"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/{invoice_id}/validations/{validation_id}":{"get":{"tags":["invoices"],"summary":"Get Validation","operationId":"get_validation_api_v1_invoices__invoice_id__validations__validation_id__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}},{"name":"validation_id","in":"path","required":true,"schema":{"type":"string","title":"Validation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/{invoice_id}/conversions":{"post":{"tags":["invoices"],"summary":"Create Conversion","operationId":"create_conversion_api_v1_invoices__invoice_id__conversions_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionCreate"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/{invoice_id}/conversions/{conversion_id}":{"get":{"tags":["invoices"],"summary":"Get Conversion","operationId":"get_conversion_api_v1_invoices__invoice_id__conversions__conversion_id__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}},{"name":"conversion_id","in":"path","required":true,"schema":{"type":"string","title":"Conversion Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/{invoice_id}/files":{"get":{"tags":["invoices"],"summary":"List Files","operationId":"list_files_api_v1_invoices__invoice_id__files_get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","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/v1/invoices/{invoice_id}/export.json":{"get":{"tags":["invoices"],"summary":"Export Json","operationId":"export_json_api_v1_invoices__invoice_id__export_json_get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","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/v1/invoices/{invoice_id}/restore":{"post":{"tags":["invoices"],"summary":"Restore Invoice","operationId":"restore_invoice_api_v1_invoices__invoice_id__restore_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","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/v1/files/{file_id}/download":{"get":{"tags":["system"],"summary":"Download","operationId":"download_api_v1_files__file_id__download_get","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate":{"post":{"tags":["system"],"summary":"Validate Stateless","description":"Prüft eine Datei ohne Speicherung (Abschnitt 13.2). Zählt als 1 Validierung.","operationId":"validate_stateless_api_v1_validate_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_validate_stateless_api_v1_validate_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/v1/jobs/{job_id}":{"get":{"tags":["system"],"summary":"Get Job","operationId":"get_job_api_v1_jobs__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/v1/health":{"get":{"tags":["system"],"summary":"Health","operationId":"health_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/legal":{"get":{"tags":["system"],"summary":"Legal","description":"Datierte Rechtsparameter mit Quellen und Wiedervorlage (Abschnitt 2, Prüfintervall).","operationId":"legal_api_v1_legal_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/system/status":{"get":{"tags":["system"],"summary":"System Status","operationId":"system_status_api_v1_system_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/stats":{"get":{"tags":["system"],"summary":"Admin Stats","operationId":"admin_stats_api_v1_admin_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/codelists":{"get":{"tags":["system"],"summary":"Codelists","operationId":"codelists_api_v1_codelists_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/system/mail-settings":{"get":{"tags":["system"],"summary":"Get Mail Settings","operationId":"get_mail_settings_api_v1_system_mail_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["system"],"summary":"Put Mail Settings","operationId":"put_mail_settings_api_v1_system_mail_settings_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailSettingsIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/system/mail-settings/test":{"post":{"tags":["system"],"summary":"Test Mail Settings","description":"Sendet eine Testnachricht an die E-Mail-Adresse des angemeldeten Administrators.","operationId":"test_mail_settings_api_v1_system_mail_settings_test_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/plans":{"get":{"tags":["admin"],"summary":"List Plans","operationId":"list_plans_api_v1_admin_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/organizations":{"get":{"tags":["admin"],"summary":"List Organizations","operationId":"list_organizations_api_v1_admin_organizations_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Deleted"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/organizations/{org_id}":{"get":{"tags":["admin"],"summary":"Organization Detail","operationId":"organization_detail_api_v1_admin_organizations__org_id__get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin"],"summary":"Update Organization","operationId":"update_organization_api_v1_admin_organizations__org_id__patch","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAdminUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/validate":{"post":{"tags":["public"],"summary":"Public Validate","description":"Prüft eine XRechnung, ZUGFeRD-Datei oder PDF ohne Konto. Nichts wird gespeichert.","operationId":"public_validate_api_v1_public_validate_post","parameters":[{"name":"X-Turnstile-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Turnstile-Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_public_validate_api_v1_public_validate_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/convert-preview":{"post":{"tags":["public"],"summary":"Public Convert Preview","description":"Zeigt die erkannten Rechnungsdaten und die Prüfung; die Datei wird für die Übergabe an ein Konto\nkurzzeitig abgelegt (Übergabe-Token), der Download der E-Rechnung erfolgt im kostenlosen Konto.","operationId":"public_convert_preview_api_v1_public_convert_preview_post","parameters":[{"name":"X-Turnstile-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Turnstile-Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_public_convert_preview_api_v1_public_convert_preview_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/error-codes":{"get":{"tags":["public"],"summary":"Public Error Codes","description":"Fehlerkatalog der Anwendung (für die Fehlercode-Seiten der Website).","operationId":"public_error_codes_api_v1_public_error_codes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/public/legal":{"get":{"tags":["public"],"summary":"Public Legal","description":"Datierte Rechtsparameter mit Quellen (Fristen, Schwellen, Versionen).","operationId":"public_legal_api_v1_public_legal_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"ApiKeyCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"live":{"type":"boolean","title":"Live","default":true},"ip_allowlist":{"items":{"type":"string"},"type":"array","title":"Ip Allowlist"},"expires_in_days":{"anyOf":[{"type":"integer","maximum":3650.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Days"}},"type":"object","required":["name"],"title":"ApiKeyCreate"},"Body_public_convert_preview_api_v1_public_convert_preview_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"target":{"type":"string","title":"Target","default":"xrechnung_ubl"},"turnstile_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Turnstile Token"}},"type":"object","required":["file"],"title":"Body_public_convert_preview_api_v1_public_convert_preview_post"},"Body_public_validate_api_v1_public_validate_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"profile":{"type":"string","title":"Profile","default":"xrechnung"},"turnstile_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Turnstile Token"}},"type":"object","required":["file"],"title":"Body_public_validate_api_v1_public_validate_post"},"Body_upload_invoice_api_v1_invoices_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"direction":{"type":"string","title":"Direction","default":"outbound"},"target_profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Profile"}},"type":"object","required":["file"],"title":"Body_upload_invoice_api_v1_invoices_post"},"Body_validate_stateless_api_v1_validate_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"profile":{"type":"string","title":"Profile","default":"xrechnung"}},"type":"object","required":["file"],"title":"Body_validate_stateless_api_v1_validate_post"},"ContactCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"vat_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vat Id"},"party":{"additionalProperties":true,"type":"object","title":"Party"},"default_target":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Target"},"is_public_sector":{"type":"boolean","title":"Is Public Sector","default":false}},"type":"object","required":["name"],"title":"ContactCreate"},"ConversionCreate":{"properties":{"format":{"type":"string","enum":["xrechnung_ubl","xrechnung_cii","zugferd","json"],"title":"Format"},"profile":{"anyOf":[{"type":"string","enum":["basic","en16931","extended","xrechnung"]},{"type":"null"}],"title":"Profile"},"version":{"anyOf":[{"type":"string","pattern":"^\\d+\\.\\d+$"},{"type":"null"}],"title":"Version"}},"type":"object","required":["format"],"title":"ConversionCreate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InviteRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role":{"type":"string","enum":["admin","member","viewer"],"title":"Role","default":"member"}},"type":"object","required":["email"],"title":"InviteRequest"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"MailSettingsIn":{"properties":{"host":{"type":"string","maxLength":255,"title":"Host"},"port":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Port","default":587},"username":{"type":"string","maxLength":255,"title":"Username","default":""},"password":{"type":"string","maxLength":500,"title":"Password","default":""},"security":{"type":"string","enum":["starttls","ssl","none"],"title":"Security","default":"starttls"},"from_email":{"type":"string","format":"email","title":"From Email"},"from_name":{"type":"string","maxLength":120,"title":"From Name","default":"E-Rechnungs-Bridge"}},"type":"object","required":["host","from_email"],"title":"MailSettingsIn"},"OrganizationAdminUpdate":{"properties":{"plan":{"anyOf":[{"type":"string","enum":["free","starter","business","professional"]},{"type":"null"}],"title":"Plan"},"invoice_quota_month":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":0.0},{"type":"null"}],"title":"Invoice Quota Month"},"overage_mode":{"anyOf":[{"type":"string","enum":["charge","block"]},{"type":"null"}],"title":"Overage Mode"},"billing_cycle":{"anyOf":[{"type":"string","enum":["monthly","yearly"]},{"type":"null"}],"title":"Billing Cycle"},"retention_days":{"anyOf":[{"type":"integer","maximum":3650.0,"minimum":1.0},{"type":"null"}],"title":"Retention Days"},"is_sandbox":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Sandbox"},"suspended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Suspended"},"support_notes":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Support Notes"}},"type":"object","title":"OrganizationAdminUpdate"},"OrganizationDeleteRequest":{"properties":{"confirm_name":{"type":"string","title":"Confirm Name"},"password":{"type":"string","title":"Password"}},"type":"object","required":["confirm_name","password"],"title":"OrganizationDeleteRequest"},"OrganizationUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":2},{"type":"null"}],"title":"Name"},"default_target":{"anyOf":[{"type":"string","enum":["xrechnung_ubl","xrechnung_cii","zugferd"]},{"type":"null"}],"title":"Default Target"},"xrechnung_version":{"anyOf":[{"type":"string","pattern":"^\\d+\\.\\d+$"},{"type":"null"}],"title":"Xrechnung Version"},"review_required_for_xml":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Review Required For Xml"},"ai_extraction_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ai Extraction Enabled"},"overage_mode":{"anyOf":[{"type":"string","enum":["charge","block"]},{"type":"null"}],"title":"Overage Mode"},"seller_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Seller Profile"}},"type":"object","title":"OrganizationUpdate"},"PasswordResetConfirm":{"properties":{"token":{"type":"string","title":"Token"},"password":{"type":"string","maxLength":200,"minLength":8,"title":"Password"}},"type":"object","required":["token","password"],"title":"PasswordResetConfirm"},"PasswordResetRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"PasswordResetRequest"},"RegisterRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":200,"minLength":8,"title":"Password"},"display_name":{"type":"string","maxLength":200,"title":"Display Name","default":""},"organization_name":{"type":"string","maxLength":200,"minLength":2,"title":"Organization Name"},"handoff_token":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Handoff Token"}},"type":"object","required":["email","password","organization_name"],"title":"RegisterRequest"},"RevisionCreate":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data"},"mode":{"type":"string","enum":["merge","replace"],"title":"Mode","default":"merge"},"comment":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Comment"},"approve":{"type":"boolean","title":"Approve","default":false}},"type":"object","required":["data"],"title":"RevisionCreate","description":"JSON Merge Patch auf das interne Modell oder vollständiges Modell."},"RoleUpdate":{"properties":{"role":{"type":"string","enum":["owner","admin","member","viewer"],"title":"Role"}},"type":"object","required":["role"],"title":"RoleUpdate"},"SwitchOrganizationRequest":{"properties":{"organization_id":{"type":"string","title":"Organization Id"}},"type":"object","required":["organization_id"],"title":"SwitchOrganizationRequest"},"ValidationCreate":{"properties":{"profile":{"type":"string","enum":["xrechnung","xrechnung_ubl","xrechnung_cii","en16931"],"title":"Profile","default":"xrechnung"}},"type":"object","title":"ValidationCreate"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebhookCreate":{"properties":{"url":{"type":"string","maxLength":1000,"title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"}},"type":"object","required":["url"],"title":"WebhookCreate"}}}}