{"openapi":"3.1.0","info":{"title":"Websin Smart ERP","description":"ERP API Dokumentation","version":"0.14.0"},"paths":{"/customers/import/schema":{"get":{"tags":["customers"],"summary":"Get Customer Import Schema Endpoint","description":"Return the fixed customer CSV import contract.","operationId":"get_customer_import_schema","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvImportSchemaResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]}},"/customers/import/template.csv":{"get":{"tags":["customers"],"summary":"Get Customer Import Template Endpoint","description":"Return a customer CSV import header template.","operationId":"get_customer_import_template","parameters":[{"name":"delimiter","in":"query","required":false,"schema":{"type":"string","default":",","title":"Delimiter"}}],"responses":{"200":{"description":"CSV template containing the customer import header row.","content":{"text/csv":{"schema":{"type":"string"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]}},"/customers/import":{"post":{"tags":["customers"],"summary":"Import Customers","description":"Import customers, billing addresses, contacts and SEPA payments from a CSV upload.","operationId":"import_customers","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ImportCustomersForm"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerImportSuccess"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]}},"/customers/{customer_id}/anonymization-check":{"get":{"tags":["customers"],"summary":"Get Customer Anonymization Check","description":"Return a non-mutating customer anonymization preflight.","operationId":"GetCustomerAnonymizationCheck","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAnonymizationCheck"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.anonymize"]}},"/customers/{customer_id}/anonymization":{"post":{"tags":["customers"],"summary":"Execute Customer Anonymization","description":"Irreversibly anonymize an eligible customer.","operationId":"AnonymizeCustomer","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAnonymizationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAnonymizationResult"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"503":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.anonymize"]}},"/customers":{"get":{"tags":["customers"],"summary":"Get Customers","description":"Get all customers with pagination, sorting and filtering.","operationId":"GetCustomers","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["customer_number","last_change","customer_group.description","billcycle.description","billing_city","billing_postcode","billing_street","billing_contact_name","billing_contact_firstname","billing_contact_company","billing_contact_mail"],"type":"string","description":"Field used for sorting","default":"customer_number","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using a case-insensitive partial match","title":"Description"},"description":"Filter by description using a case-insensitive partial match"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"description":"Global dropdown search. Values shorter than three trimmed characters are ignored.","title":"Search"},"description":"Global dropdown search. Values shorter than three trimmed characters are ignored."},{"name":"include_anonymized","in":"query","required":false,"schema":{"type":"boolean","description":"Include anonymized customers; requires customer.anonymize","default":false,"title":"Include Anonymized"},"description":"Include anonymized customers; requires customer.anonymize"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer_id using exact match","title":"Customer Id"},"description":"Filter by customer_id using exact match"},{"name":"customer_number","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by customer number using exact match","title":"Customer Number"},"description":"Filter by customer number using exact match"},{"name":"billcycle_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by billcycle_id using exact match","title":"Billcycle Id"},"description":"Filter by billcycle_id using exact match"},{"name":"customer_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer_group_id using exact match","title":"Customer Group Id"},"description":"Filter by customer_group_id using exact match"},{"name":"legal_form_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by legal_form_id using exact match","title":"Legal Form Id"},"description":"Filter by legal_form_id using exact match"},{"name":"tax_identification_no","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by tax_identification_no using exact match","title":"Tax Identification No"},"description":"Filter by tax_identification_no using exact match"},{"name":"billing_city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by active billing city using a case-insensitive partial match","title":"Billing City"},"description":"Filter by active billing city using a case-insensitive partial match"},{"name":"billing_postcode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by active billing postcode using a case-insensitive partial match","title":"Billing Postcode"},"description":"Filter by active billing postcode using a case-insensitive partial match"},{"name":"billing_street","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by active billing street using a case-insensitive partial match","title":"Billing Street"},"description":"Filter by active billing street using a case-insensitive partial match"},{"name":"billing_contact_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by billing contact last name using a case-insensitive partial match","title":"Billing Contact Name"},"description":"Filter by billing contact last name using a case-insensitive partial match"},{"name":"billing_contact_firstname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by billing contact first name using a case-insensitive partial match","title":"Billing Contact Firstname"},"description":"Filter by billing contact first name using a case-insensitive partial match"},{"name":"billing_contact_company","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by billing contact company using a case-insensitive partial match","title":"Billing Contact Company"},"description":"Filter by billing contact company using a case-insensitive partial match"},{"name":"billing_contact_mail","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by billing contact email using a case-insensitive partial match","title":"Billing Contact Mail"},"description":"Filter by billing contact email using a case-insensitive partial match"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"post":{"tags":["customers"],"summary":"Create Customer","description":"Create a new customer","operationId":"CreateCustomer","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCreate"}}}},"responses":{"201":{"description":"Customer created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]}},"/customers/next-number":{"get":{"tags":["customers"],"summary":"Get Next Customer Number","description":"Get a non-reserving customer-number suggestion that may become stale.","operationId":"GetNextCustomerNumber","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NextNumberResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]}},"/customers/{customer_id}":{"get":{"tags":["customers"],"summary":"Get Customer","description":"Get a specific customer with referenced data.","operationId":"GetCustomer","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerDetailResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"patch":{"tags":["customers"],"summary":"Update Customer","description":"Update a customer.","operationId":"PatchCustomer","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerUpdate"}}}},"responses":{"200":{"description":"Customer updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]},"delete":{"tags":["customers"],"summary":"Delete Customer","description":"Delete a customer only when no related business data still exists.","operationId":"DeleteCustomer","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"responses":{"202":{"description":"Customer deleted.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.delete"]}},"/customer-attribute-keys":{"get":{"tags":["customer attribute keys"],"summary":"Read Customer Attribute Keys","description":"Return paginated customer attribute keys.","operationId":"get_customer_attribute_keys","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeKeyListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"post":{"tags":["customer attribute keys"],"summary":"Create Customer Attribute Key","description":"Create a customer attribute key.","operationId":"create_customer_attribute_key","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeKey"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/customer-attribute-keys/{customer_attribute_key_id}":{"get":{"tags":["customer attribute keys"],"summary":"Read Customer Attribute Key","description":"Return a customer attribute key by ID.","operationId":"get_customer_attribute_key","parameters":[{"name":"customer_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Attribute Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeKey"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["customer attribute keys"],"summary":"Update Customer Attribute Key","description":"Update a customer attribute key.","operationId":"update_customer_attribute_key","parameters":[{"name":"customer_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Attribute Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeKeyUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeKey"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"delete":{"tags":["customer attribute keys"],"summary":"Delete Customer Attribute Key","description":"Delete a customer attribute key if it is not referenced.","operationId":"delete_customer_attribute_key","parameters":[{"name":"customer_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Attribute Key Id"}}],"responses":{"202":{"description":"Customer attribute key deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/customers/{customer_id}/attributes":{"get":{"tags":["customer attributes"],"summary":"Read Customer Attributes","description":"Return paginated customer attributes.","operationId":"get_customer_attributes","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"post":{"tags":["customer attributes"],"summary":"Create Customer Attribute","description":"Create a customer attribute.","operationId":"create_customer_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttribute"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]}},"/customers/{customer_id}/attributes/{customer_attribute_id}":{"get":{"tags":["customer attributes"],"summary":"Read Customer Attribute","description":"Return a customer attribute by ID.","operationId":"get_customer_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"customer_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Attribute Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"patch":{"tags":["customer attributes"],"summary":"Update Customer Attribute","description":"Update a customer attribute.","operationId":"update_customer_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"customer_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Attribute Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttributeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerAttribute"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]},"delete":{"tags":["customer attributes"],"summary":"Delete Customer Attribute","description":"Delete a customer attribute.","operationId":"delete_customer_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"customer_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Attribute Id"}}],"responses":{"202":{"description":"Customer attribute deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.delete"]}},"/customers/{customer_id}/addresses/{address_id}":{"get":{"tags":["addresses"],"summary":"Get Address","description":"Get a specific address.","operationId":"get_address","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"address_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Id"}},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id"}}],"responses":{"200":{"description":"Address found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"patch":{"tags":["addresses"],"summary":"Update Address","description":"Update a specific address.","operationId":"update_address","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"address_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressUpdate"}}}},"responses":{"200":{"description":"Address updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]},"delete":{"tags":["addresses"],"summary":"Delete Address","description":"Delete a specific address","operationId":"delete_address","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"address_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Id"}}],"responses":{"202":{"description":"Address deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.delete"]}},"/customers/{customer_id}/addresses":{"get":{"tags":["addresses"],"summary":"Get All Addresses","description":"Get addresses for a customer with pagination, sorting and filtering.","operationId":"get_all_addresses","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["street","house_number","city","postcode","district","valid_from","valid_to","last_change","address_type_id"],"type":"string","description":"Field used for sorting","default":"valid_from","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"street","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by street using exact match","title":"Street"},"description":"Filter by street using exact match"},{"name":"house_number","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by house number using exact match","title":"House Number"},"description":"Filter by house number using exact match"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city using exact match","title":"City"},"description":"Filter by city using exact match"},{"name":"postcode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by postcode using exact match","title":"Postcode"},"description":"Filter by postcode using exact match"},{"name":"district","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by district using exact match","title":"District"},"description":"Filter by district using exact match"},{"name":"valid_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by valid_from using exact match","title":"Valid From"},"description":"Filter by valid_from using exact match"},{"name":"valid_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by valid_to using exact match","title":"Valid To"},"description":"Filter by valid_to using exact match"},{"name":"address_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by address type using exact match","title":"Address Type Id"},"description":"Filter by address type using exact match"},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id"}},{"name":"only_unlinked","in":"query","required":false,"schema":{"type":"boolean","description":"Return only addresses without service binding","default":false,"title":"Only Unlinked"},"description":"Return only addresses without service binding"}],"responses":{"200":{"description":"Addresses found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"post":{"tags":["addresses"],"summary":"Create Address","description":"Create a new address.","operationId":"create_address","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressCreate"}}}},"responses":{"201":{"description":"Address created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]}},"/customers/{customer_id}/addresses/{address_id}/contact-data/{contact_data_id}":{"get":{"tags":["contact data"],"summary":"Get Contact Data","description":"Get a specific set of contact data","operationId":"get_contact_data","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"address_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Id"}},{"name":"contact_data_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Contact Data Id"}}],"responses":{"200":{"description":"Contact data found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDataResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"patch":{"tags":["contact data"],"summary":"Update Contact Data","description":"Update a specific set of contact data","operationId":"update_contact_data","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"address_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Id"}},{"name":"contact_data_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Contact Data Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDataUpdate"}}}},"responses":{"200":{"description":"Contact data updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDataResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]},"delete":{"tags":["contact data"],"summary":"Delete Contact Data","description":"Delete a specific set of contact data","operationId":"delete_contact_data","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"address_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Id"}},{"name":"contact_data_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Contact Data Id"}}],"responses":{"202":{"description":"Contact data deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.delete"]}},"/customers/{customer_id}/addresses/{address_id}/contact-data":{"post":{"tags":["contact data"],"summary":"Create Contact Data","description":"Create a new set of contact data","operationId":"create_contact_data","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"address_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDataCreate"}}}},"responses":{"201":{"description":"Contact data created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDataResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]}},"/customers/{customer_id}/notes/{note_id}":{"get":{"tags":["notes"],"summary":"Get Note","description":"Get a specific note by ID.","operationId":"get_note","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Note Id"}}],"responses":{"200":{"description":"Note found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.note.read"]},"patch":{"tags":["notes"],"summary":"Update Note","description":"Update a specific note.","operationId":"update_note","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Note Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteUpdate"}}}},"responses":{"200":{"description":"Note updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteResponse"}}}},"401":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.note.write"]},"delete":{"tags":["notes"],"summary":"Delete Note","description":"Delete a specific note.","operationId":"delete_note","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Note Id"}}],"responses":{"202":{"description":"Note deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.note.delete"]}},"/customers/{customer_id}/notes":{"get":{"tags":["notes"],"summary":"Get All Notes","description":"Get all notes for a specific customer.","operationId":"get_all_notes","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Notes found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.note.read"]},"post":{"tags":["notes"],"summary":"Create Note","description":"Create a new note.","operationId":"create_note","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteCreate"}}}},"responses":{"201":{"description":"Note created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteResponse"}}}},"401":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.note.write"]}},"/customers/{customer_id}/payments/{payment_id}":{"get":{"tags":["payments"],"summary":"Get Payment","description":"Get a specific payment by ID","operationId":"get_payment","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Payment Id"}}],"responses":{"200":{"description":"Payment found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"patch":{"tags":["payments"],"summary":"Update Payment","description":"Update a specific payment.","operationId":"update_payment","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Payment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentUpdate"}}}},"responses":{"200":{"description":"Payment updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]},"delete":{"tags":["payments"],"summary":"Delete Payment","description":"Delete a specific payment","operationId":"delete_payment","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Payment Id"}}],"responses":{"202":{"description":"Payment deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.delete"]}},"/customers/{customer_id}/payments":{"get":{"tags":["payments"],"summary":"Get All Payments","description":"Get all payments for a specific customer, with the option to limit the scope","operationId":"get_all_payments","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Payments found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read"]},"post":{"tags":["payments"],"summary":"Create Payment","description":"Create a new payment.","operationId":"create_payment","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentCreate"}}}},"responses":{"201":{"description":"Payment created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.write"]}},"/accounts":{"get":{"tags":["accounts"],"summary":"Get All Accounts","description":"Retrieve all accounts with pagination, sorting and filtering.","operationId":"get_all_accounts","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Max number of records to return","default":100,"title":"Limit"},"description":"Max number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["description","account_no","last_change"],"type":"string","description":"Field used for sorting","default":"account_no","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using LIKE","title":"Description"},"description":"Filter by description using LIKE"},{"name":"account_no","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by account number using exact match","title":"Account No"},"description":"Filter by account number using exact match"}],"responses":{"200":{"description":"Accounts found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"post":{"tags":["accounts"],"summary":"Create Account","description":"Create a new account. It is imported for all financial exports.","operationId":"create_account","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCreate"}}}},"responses":{"201":{"description":"Account created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/accounts/{account_id}":{"get":{"tags":["accounts"],"summary":"Get Account","description":"Retrieve a specific account by its ID.","operationId":"get_account","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Account Id"}}],"responses":{"200":{"description":"Account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"delete":{"tags":["accounts"],"summary":"Delete Account","description":"Delete a specific account if it is not referenced by other records.","operationId":"delete_account","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Account Id"}}],"responses":{"202":{"description":"Account successfully deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"patch":{"tags":["accounts"],"summary":"Update Account","description":"Update a specific account","operationId":"update_account","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountUpdate"}}}},"responses":{"200":{"description":"Account updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/address-types/{address_type_id}":{"get":{"tags":["address types"],"summary":"Get Address Type","description":"Retrieve a specific address type by its ID.","operationId":"get_address_type","parameters":[{"name":"address_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Type Id"}}],"responses":{"200":{"description":"Address type found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressType"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"delete":{"tags":["address types"],"summary":"Delete Address Type","description":"Delete an address type, if no address is assigned to it.","operationId":"delete_address_type","parameters":[{"name":"address_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Type Id"}}],"responses":{"202":{"description":"Address type deleted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"patch":{"tags":["address types"],"summary":"Update Address Type","description":"Update a specific address type.","operationId":"update_address_type","parameters":[{"name":"address_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Address Type Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressTypeUpdate"}}}},"responses":{"200":{"description":"Address type updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressType"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/address-types":{"get":{"tags":["address types"],"summary":"Get All Address Types","description":"Retrieve all address types with pagination, sorting and filtering.","operationId":"get_all_address_types","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["description","is_billing","is_allowed_for_customer","is_allowed_for_service","last_change"],"type":"string","description":"Field used for sorting","default":"last_change","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"is_billing","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by billing flag using exact match","title":"Is Billing"},"description":"Filter by billing flag using exact match"},{"name":"is_allowed_for_customer","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by customer address permission using exact match","title":"Is Allowed For Customer"},"description":"Filter by customer address permission using exact match"},{"name":"is_allowed_for_service","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by service address permission using exact match","title":"Is Allowed For Service"},"description":"Filter by service address permission using exact match"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using LIKE","title":"Description"},"description":"Filter by description using LIKE"}],"responses":{"200":{"description":"Address types found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressTypeListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"post":{"tags":["address types"],"summary":"Create Address Type","description":"Create a new address type.","operationId":"create_address_type","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressTypeCreate"}}}},"responses":{"201":{"description":"Address type created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddressType"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/bank-data/{bank_data_id}":{"get":{"tags":["bank data"],"summary":"Get Bank Data","description":"Retrieve a specific bank data entry.","operationId":"get_bank_data","parameters":[{"name":"bank_data_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Bank Data Id"}}],"responses":{"200":{"description":"Bank data found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankData"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["bank_data.read"]},"delete":{"tags":["bank data"],"summary":"Delete Bank Data","description":"Delete a specific bank data entry, if no payment is linked to it.","operationId":"delete_bank_data","parameters":[{"name":"bank_data_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Bank Data Id"}}],"responses":{"202":{"description":"Bank data deleted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["bank_data.delete"]},"patch":{"tags":["bank data"],"summary":"Update Bank Data","description":"Update a specific bank data record.","operationId":"update_bank_data","parameters":[{"name":"bank_data_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Bank Data Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankDataUpdate"}}}},"responses":{"200":{"description":"Bank data updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankData"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["bank_data.write"]}},"/bank-data":{"get":{"tags":["bank data"],"summary":"Get All Bank Data","description":"Retrieve all bank data entries with pagination, sorting and filtering.","operationId":"get_all_bank_data","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["shortname","longname","bic","last_change"],"type":"string","description":"Field used for sorting","default":"shortname","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"shortname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by shortname using LIKE","title":"Shortname"},"description":"Filter by shortname using LIKE"},{"name":"longname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by longname using LIKE","title":"Longname"},"description":"Filter by longname using LIKE"},{"name":"bic","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by bic using LIKE","title":"Bic"},"description":"Filter by bic using LIKE"}],"responses":{"200":{"description":"Bank data found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankDataListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["bank_data.read"]},"post":{"tags":["bank data"],"summary":"Create Bank Data","description":"Create a new bank data entry.","operationId":"create_bank_data","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankDataCreate"}}}},"responses":{"201":{"description":"Bank data created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankData"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["bank_data.write"]}},"/billcycles/{billcycle_id}":{"get":{"tags":["billcycles"],"summary":"Get Billcycle","description":"Retrieve a specific billcycle.","operationId":"get_billcycle","parameters":[{"name":"billcycle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Billcycle Id"}}],"responses":{"200":{"description":"Billcycle found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Billcycle"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"delete":{"tags":["billcycles"],"summary":"Delete Billcycle","description":"Delete a billcycle, if not assigned to any customer.","operationId":"delete_billcycle","parameters":[{"name":"billcycle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Billcycle Id"}}],"responses":{"202":{"description":"Billcycle deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"patch":{"tags":["billcycles"],"summary":"Update Billcycle","description":"Update a billcycle.","operationId":"update_billcycle","parameters":[{"name":"billcycle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Billcycle Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillcycleUpdate"}}}},"responses":{"200":{"description":"Billcycle updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Billcycle"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/billcycles":{"get":{"tags":["billcycles"],"summary":"Get All Billcycles","description":"Retrieve all billcycles with pagination, sorting and filtering.","operationId":"get_all_billcycles","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["billcycle_key","description","last_change"],"type":"string","description":"Field used for sorting","default":"billcycle_key","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using LIKE","title":"Description"},"description":"Filter by description using LIKE"},{"name":"billcycle_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by billcycle key using exact match","title":"Billcycle Key"},"description":"Filter by billcycle key using exact match"}],"responses":{"200":{"description":"Billcycles found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillcycleListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"post":{"tags":["billcycles"],"summary":"Create Billcycle","description":"Create a new billcycle.","operationId":"create_billcycle","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillcycleCreate"}}}},"responses":{"201":{"description":"Billcycle created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Billcycle"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/company-legal-forms/{legal_form_id}":{"get":{"tags":["company legal forms"],"summary":"Get Company Legal Form By Id","description":"Retrieve a specific company legal form by ID.","operationId":"get_company_legal_form","parameters":[{"name":"legal_form_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Legal Form Id"}}],"responses":{"200":{"description":"Company legal form found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyLegalForm"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"delete":{"tags":["company legal forms"],"summary":"Delete Company Legal Form","description":"Delete a specific company legal form.","operationId":"delete_company_legal_form","parameters":[{"name":"legal_form_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Legal Form Id"}}],"responses":{"202":{"description":"Company legal form deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"patch":{"tags":["company legal forms"],"summary":"Update Company Legal Form","description":"Update a specific company legal form.","operationId":"update_company_legal_form","parameters":[{"name":"legal_form_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Legal Form Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyLegalFormUpdate"}}}},"responses":{"200":{"description":"Company legal form updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyLegalForm"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/company-legal-forms":{"get":{"tags":["company legal forms"],"summary":"Get All Company Legal Forms","description":"Retrieve all company legal forms with pagination, sorting and filtering.","operationId":"get_all_company_legal_forms","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["description","last_change"],"type":"string","description":"Field used for sorting","default":"last_change","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using LIKE","title":"Description"},"description":"Filter by description using LIKE"}],"responses":{"200":{"description":"Company legal forms found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyLegalFormListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"post":{"tags":["company legal forms"],"summary":"Create Company Legal Form","description":"Create a new company legal form.","operationId":"create_company_legal_form","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyLegalFormCreate"}}}},"responses":{"201":{"description":"Company legal form created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyLegalForm"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/corrective-invoices":{"get":{"tags":["corrective invoices"],"summary":"Get All Corrective Invoices","description":"Return paginated corrective invoices including calculated totals.","operationId":"GetCorrectiveInvoices","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["document_no","document_prefix","document_date","service_date","due_date","company","name","firstname","city","postcode"],"type":"string","description":"Field used for sorting","default":"document_date","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"desc","title":"Sort Order"},"description":"Sort direction"},{"name":"document_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by document number using exact match","title":"Document No"},"description":"Filter by document number using exact match"},{"name":"document_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by document prefix using exact match","title":"Document Prefix"},"description":"Filter by document prefix using exact match"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer_id using exact match","title":"Customer Id"},"description":"Filter by customer_id using exact match"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CommercialDocumentStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"company","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by company using a case-insensitive partial match","title":"Company"},"description":"Filter by company using a case-insensitive partial match"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by name using a case-insensitive partial match","title":"Name"},"description":"Filter by name using a case-insensitive partial match"},{"name":"firstname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by firstname using a case-insensitive partial match","title":"Firstname"},"description":"Filter by firstname using a case-insensitive partial match"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city using a case-insensitive partial match","title":"City"},"description":"Filter by city using a case-insensitive partial match"},{"name":"postcode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by postcode using a case-insensitive partial match","title":"Postcode"},"description":"Filter by postcode using a case-insensitive partial match"},{"name":"document_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date greater than or equal","title":"Document Date From"},"description":"Filter by document date greater than or equal"},{"name":"document_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date less than or equal","title":"Document Date To"},"description":"Filter by document date less than or equal"},{"name":"service_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date greater than or equal","title":"Service Date From"},"description":"Filter by service_date greater than or equal"},{"name":"service_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date less than or equal","title":"Service Date To"},"description":"Filter by service_date less than or equal"},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date greater than or equal","title":"Due Date From"},"description":"Filter by due_date greater than or equal"},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date less than or equal","title":"Due Date To"},"description":"Filter by due_date less than or equal"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]},"post":{"tags":["corrective invoices"],"summary":"Post Corrective Invoice","description":"Create a new corrective invoice.","operationId":"CreateCorrectiveInvoice","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceCreate"}}}},"responses":{"201":{"description":"Corrective invoice created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/corrective-invoices/{document_id}":{"get":{"tags":["corrective invoices"],"summary":"Get Corrective Invoice","description":"Return one corrective invoice including all positions and calculated totals.","operationId":"GetCorrectiveInvoice","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Corrective invoice found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]},"delete":{"tags":["corrective invoices"],"summary":"Delete Corrective Invoice","description":"Delete an editable corrective invoice.","operationId":"DeleteCorrectiveInvoice","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Corrective invoice deleted successfully."},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"patch":{"tags":["corrective invoices"],"summary":"Patch Corrective Invoice","description":"Update editable corrective invoice header fields. Positions use separate endpoints.","operationId":"UpdateCorrectiveInvoice","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceUpdate"}}}},"responses":{"200":{"description":"Corrective invoice updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/customer-groups/{customer_group_id}":{"get":{"tags":["customer groups"],"summary":"Get Customer Group","description":"Get a specific customer group.","operationId":"get_customer_group","parameters":[{"name":"customer_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Group Id"}}],"responses":{"200":{"description":"Customer group found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerGroup"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"delete":{"tags":["customer groups"],"summary":"Delete Customer Group","description":"Delete a specific customer group, if not assigned to any customer.","operationId":"delete_customer_group","parameters":[{"name":"customer_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Group Id"}}],"responses":{"202":{"description":"Customer group deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"patch":{"tags":["customer groups"],"summary":"Update Customer Group","description":"Update a customer group.","operationId":"update_customer_group","parameters":[{"name":"customer_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerGroupUpdate"}}}},"responses":{"200":{"description":"Customer group updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerGroup"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/customer-groups":{"get":{"tags":["customer groups"],"summary":"Get All Customer Groups","description":"Get all customer groups with pagination, sorting and filtering.","operationId":"get_all_customer_groups","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["last_change","description"],"type":"string","description":"Field used for sorting","default":"last_change","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using LIKE","title":"Description"},"description":"Filter by description using LIKE"}],"responses":{"200":{"description":"Customer groups found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerGroupListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"post":{"tags":["customer groups"],"summary":"Create Customer Group","description":"Create a new customer group.","operationId":"create_customer_group","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerGroupCreate"}}}},"responses":{"201":{"description":"Customer Group created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerGroup"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/corrective-invoices/{document_id}/positions/{position_id}":{"delete":{"tags":["corrective invoice positions"],"summary":"Remove Corrective Invoice Position","description":"Delete one corrective invoice position from an editable document.","operationId":"DeleteCorrectiveInvoicePosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"responses":{"202":{"description":"Corrective invoice position deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"patch":{"tags":["corrective invoice positions"],"summary":"Patch Corrective Invoice Position","description":"Update one existing corrective invoice position for an editable document.","operationId":"UpdateCorrectiveInvoicePosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoicePositionUpdate"}}}},"responses":{"200":{"description":"Corrective invoice position updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoicePositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/invoices/{invoice_id}":{"delete":{"tags":["invoices"],"summary":"Delete Invoice","description":"Delete an editable invoice.","operationId":"DeleteInvoice","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Invoice deleted successfully."},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"get":{"tags":["invoices"],"summary":"Get Invoice","description":"Return one invoice including all positions and calculated totals.","operationId":"GetInvoice","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"responses":{"200":{"description":"Invoice found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]},"patch":{"tags":["invoices"],"summary":"Patch Invoice","description":"Update editable invoice header fields. Invoice positions use separate endpoints.","operationId":"UpdateInvoice","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceUpdate"}}}},"responses":{"200":{"description":"Invoice updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/invoices/{invoice_id}/positions/{invoice_position_id}":{"delete":{"tags":["invoice positions"],"summary":"Remove Invoice Position","description":"Delete one invoice position from an editable invoice.","operationId":"DeleteInvoicePosition","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}},{"name":"invoice_position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Position Id"}}],"responses":{"202":{"description":"Invoice position deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"patch":{"tags":["invoice positions"],"summary":"Patch Invoice Position","description":"Update one existing invoice position for an editable invoice.","operationId":"UpdateInvoicePosition","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}},{"name":"invoice_position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Position Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePositionUpdate"}}}},"responses":{"200":{"description":"Invoice position updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/billing/extra-invoice-positions":{"get":{"tags":["invoice_run"],"summary":"List Extra Invoice Positions","description":"Return imported extra invoice positions with customer and product details.","operationId":"list_extra_invoice_positions","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip for pagination","default":0,"title":"Skip"},"description":"Number of records to skip for pagination"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ExtraInvoicePositionStatus"},{"type":"null"}],"description":"Filter by processing status","title":"Status"},"description":"Filter by processing status"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer ID","title":"Customer Id"},"description":"Filter by customer ID"},{"name":"billing_year_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2000},{"type":"null"}],"description":"Start billing year","title":"Billing Year From"},"description":"Start billing year"},{"name":"billing_month_from","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"description":"Start billing month","title":"Billing Month From"},"description":"Start billing month"},{"name":"billing_year_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2000},{"type":"null"}],"description":"End billing year","title":"Billing Year To"},"description":"End billing year"},{"name":"billing_month_to","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"description":"End billing month","title":"Billing Month To"},"description":"End billing month"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtraInvoicePositionListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]}},"/billing/extra-invoice-positions/import":{"post":{"tags":["invoice_run"],"summary":"Import Extra Invoice Positions","description":"Import one CSV file with extra invoice positions for monthly invoice runs.","operationId":"import_extra_invoice_positions","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ImportExtraInvoicePositionsForm"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtraInvoicePositionImportSuccess"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/billing/extra-invoice-positions/{extra_invoice_position_id}":{"patch":{"tags":["invoice_run"],"summary":"Patch Extra Invoice Position","description":"Update one pending extra invoice position.","operationId":"update_extra_invoice_position","parameters":[{"name":"extra_invoice_position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Extra Invoice Position Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtraInvoicePositionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtraInvoicePositionResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]},"delete":{"tags":["invoice_run"],"summary":"Delete Extra Invoice Position","description":"Delete one pending extra invoice position.","operationId":"delete_extra_invoice_position","parameters":[{"name":"extra_invoice_position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Extra Invoice Position Id"}}],"responses":{"202":{"description":"Extra invoice position deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]}},"/order-confirmations/{document_id}":{"delete":{"tags":["order confirmations"],"summary":"Delete Order Confirmation","description":"Delete an editable order confirmation.","operationId":"DeleteOrderConfirmation","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Order confirmation deleted successfully."},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"get":{"tags":["order confirmations"],"summary":"Get Order Confirmation","description":"Return one order confirmation including all positions and calculated totals.","operationId":"GetOrderConfirmation","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Order confirmation found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]},"patch":{"tags":["order confirmations"],"summary":"Patch Order Confirmation","description":"Update editable order confirmation header fields. Positions use separate endpoints.","operationId":"UpdateOrderConfirmation","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationUpdate"}}}},"responses":{"200":{"description":"Order confirmation updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/order-confirmations/{document_id}/positions/{position_id}":{"delete":{"tags":["order confirmation positions"],"summary":"Remove Order Confirmation Position","description":"Delete one order confirmation position from an editable document.","operationId":"DeleteOrderConfirmationPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"responses":{"202":{"description":"Order confirmation position deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"patch":{"tags":["order confirmation positions"],"summary":"Patch Order Confirmation Position","description":"Update one existing order confirmation position for an editable document.","operationId":"UpdateOrderConfirmationPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationPositionUpdate"}}}},"responses":{"200":{"description":"Order confirmation position updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationPositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/payment-reminders/{document_id}":{"delete":{"tags":["payment reminders"],"summary":"Delete Payment Reminder","operationId":"DeletePaymentReminder","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Payment reminder deleted successfully."},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"get":{"tags":["payment reminders"],"summary":"Get Payment Reminder","description":"Return one payment reminder including all positions and calculated totals.","operationId":"GetPaymentReminder","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Payment reminder found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]},"patch":{"tags":["payment reminders"],"summary":"Patch Payment Reminder","operationId":"UpdatePaymentReminder","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderUpdate"}}}},"responses":{"200":{"description":"Payment reminder updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/payment-reminders/{document_id}/positions/{position_id}":{"delete":{"tags":["payment reminder positions"],"summary":"Remove Payment Reminder Position","operationId":"DeletePaymentReminderPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"responses":{"202":{"description":"Payment reminder position deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"patch":{"tags":["payment reminder positions"],"summary":"Patch Payment Reminder Position","operationId":"UpdatePaymentReminderPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderPositionUpdate"}}}},"responses":{"200":{"description":"Payment reminder position updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderPositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/payment-targets/{payment_target_id}":{"delete":{"tags":["payment targets"],"summary":"Delete Payment Target","description":"Delete a specific payment target.","operationId":"delete_payment_target","parameters":[{"name":"payment_target_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Payment Target Id"}}],"responses":{"202":{"description":"Payment target deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["payment targets"],"summary":"Get Payment Target","description":"Get a specific payment target.","operationId":"get_payment_target","parameters":[{"name":"payment_target_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Payment Target Id"}}],"responses":{"200":{"description":"Payment target found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentTarget"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["payment targets"],"summary":"Update Payment Target","description":"Update a specific payment target.","operationId":"update_payment_target","parameters":[{"name":"payment_target_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Payment Target Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentTargetUpdate"}}}},"responses":{"200":{"description":"Payment target updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentTarget"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/product-feature-keys/{product_feature_key_id}":{"delete":{"tags":["product feature keys"],"summary":"Delete Product Feature Key","description":"Delete a specific product feature key if no features are referencing it.","operationId":"deleteProductFeatureKey","parameters":[{"name":"product_feature_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Feature Key Id"}}],"responses":{"202":{"description":"Product Feature Key deleted successfully.","content":{"application/json":{"schema":{}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.delete"]},"get":{"tags":["product feature keys"],"summary":"Read Product Feature Key","description":"Get a specific Product Feature Key","operationId":"GetProductFeatureKey","parameters":[{"name":"product_feature_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Feature Key Id"}}],"responses":{"200":{"description":"Product Feature Key found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureKey"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]},"patch":{"tags":["product feature keys"],"summary":"Update Product Feature Key","description":"Update a specific Product Feature Key","operationId":"PatchProductFeatureKey","parameters":[{"name":"product_feature_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Feature Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureKeyUpdate"}}}},"responses":{"200":{"description":"Product Feature Key updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureKey"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]}},"/products/{product_id}/product-features/{product_feature_id}":{"delete":{"tags":["product features"],"summary":"Delete Product Feature","description":"Delete a specific Product Feature","operationId":"DeleteProductFeature","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_feature_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Feature Id"}}],"responses":{"202":{"description":"Product Feature deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.delete"]},"get":{"tags":["product features"],"summary":"Read Product Feature","description":"Get a specific Product Feature if it belongs to the given product.","operationId":"GetProductFeature","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_feature_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Feature Id"}}],"responses":{"200":{"description":"Product Feature found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]},"patch":{"tags":["product features"],"summary":"Update Product Feature","description":"Update a specific Product Feature if it belongs to the given product.","operationId":"UpdateProductFeature","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_feature_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Feature Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureUpdate"}}}},"responses":{"200":{"description":"Product Feature updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeature"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]}},"/product-groups/{product_group_id}":{"delete":{"tags":["product groups"],"summary":"Delete Product Group","description":"Delete a product group","operationId":"delete_product_group","parameters":[{"name":"product_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Group Id"}}],"responses":{"202":{"description":"Product group deleted successfully.","content":{"application/json":{"schema":{}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.delete"]},"get":{"tags":["product groups"],"summary":"Get Product Group","description":"Retrieve a specific product group by its ID.","operationId":"get_product_group","parameters":[{"name":"product_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Group Id"}}],"responses":{"200":{"description":"Product group found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductGroup"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]},"patch":{"tags":["product groups"],"summary":"Update Product Group","description":"Update a specific product group in the database.","operationId":"update_product_group","parameters":[{"name":"product_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductGroupUpdate"}}}},"responses":{"200":{"description":"Product group updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductGroup"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]}},"/products/{product_id}/product-prices/{product_price_id}":{"delete":{"tags":["product prices"],"summary":"Delete Product Price","description":"Delete a product price associated with a specific product.","operationId":"delete_product_price","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_price_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Price Id"}}],"responses":{"202":{"description":"Product price deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.delete"]},"get":{"tags":["product prices"],"summary":"Get Product Price","description":"Retrieve a specific product price for a product, including product and tax_type.","operationId":"get_product_price","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_price_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Price Id"}}],"responses":{"200":{"description":"Product price found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductPriceResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]},"patch":{"tags":["product prices"],"summary":"Update Product Price","description":"Update a specific product price belonging to a product.","operationId":"update_product_price","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_price_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Price Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductPriceUpdate"}}}},"responses":{"200":{"description":"Product price updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductPrice"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]}},"/products/{product_id}":{"delete":{"tags":["products"],"summary":"Delete Product","description":"Delete a specific product, if no related records exist.","operationId":"delete_product","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}}],"responses":{"202":{"description":"Product deleted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.delete"]},"get":{"tags":["products"],"summary":"Get Product","description":"Retrieve a specific product with all related references and prices.","operationId":"get_product","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}}],"responses":{"200":{"description":"Product found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]},"patch":{"tags":["products"],"summary":"Update Product","description":"Update a specific product and validate all related references.","operationId":"update_product","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUpdate"}}}},"responses":{"200":{"description":"Product updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]}},"/products/{product_id}/product-relationships/{product_relationship_id}":{"delete":{"tags":["product relationship"],"summary":"Delete Product Relationship","description":"Delete one relationship from either involved product.","operationId":"delete_product_relationship","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_relationship_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Relationship Id"}}],"responses":{"202":{"description":"Product Relationship deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.delete"]},"get":{"tags":["product relationship"],"summary":"Read Product Relationship","description":"Get one relationship from either involved product.","operationId":"read_product_relationship","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_relationship_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Relationship Id"}}],"responses":{"200":{"description":"Product relationship found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationship"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]},"patch":{"tags":["product relationship"],"summary":"Update Product Relationship","description":"Update one relationship relative to either involved product.","operationId":"update_product_relationship","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"product_relationship_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Relationship Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipUpdate"}}}},"responses":{"200":{"description":"Product relationship updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationship"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]}},"/product-units/{product_unit_id}":{"delete":{"tags":["product units"],"summary":"Delete Product Unit","description":"Delete a specific product unit.","operationId":"delete_product_unit","parameters":[{"name":"product_unit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Unit Id"}}],"responses":{"202":{"description":"Product unit deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["product units"],"summary":"Get Product Unit","description":"Get a specific product unit.","operationId":"get_product_unit","parameters":[{"name":"product_unit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Unit Id"}}],"responses":{"200":{"description":"Product unit found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUnit"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["product units"],"summary":"Update Product Unit","description":"Update a specific product unit.","operationId":"update_product_unit","parameters":[{"name":"product_unit_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Unit Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUnitUpdate"}}}},"responses":{"200":{"description":"Product unit updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUnit"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/quotations/{document_id}":{"delete":{"tags":["quotations"],"summary":"Delete Quotation","description":"Delete an editable quotation.","operationId":"DeleteQuotation","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Quotation deleted successfully."},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"get":{"tags":["quotations"],"summary":"Get Quotation","description":"Return one quotation including all positions and calculated totals.","operationId":"GetQuotation","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Quotation found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]},"patch":{"tags":["quotations"],"summary":"Patch Quotation","description":"Update editable quotation header fields. Positions use separate endpoints.","operationId":"UpdateQuotation","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationUpdate"}}}},"responses":{"200":{"description":"Quotation updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/quotations/{document_id}/positions/{position_id}":{"delete":{"tags":["quotation positions"],"summary":"Remove Quotation Position","description":"Delete one quotation position from an editable document.","operationId":"DeleteQuotationPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"responses":{"202":{"description":"Quotation position deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"patch":{"tags":["quotation positions"],"summary":"Patch Quotation Position","description":"Update one existing quotation position for an editable document.","operationId":"UpdateQuotationPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationPositionUpdate"}}}},"responses":{"200":{"description":"Quotation position updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationPositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/salutations/{salutation_id}":{"delete":{"tags":["salutations"],"summary":"Delete Salutation","description":"Delete a salutation.","operationId":"delete_salutation","parameters":[{"name":"salutation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Salutation Id"}}],"responses":{"202":{"description":"Salutation deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["salutations"],"summary":"Get Salutation","description":"Get a specific salutation.","operationId":"get_salutation","parameters":[{"name":"salutation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Salutation Id"}}],"responses":{"200":{"description":"Salutation found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Salutation"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["salutations"],"summary":"Update Salutation","description":"Update a specific salutation.","operationId":"update_salutation","parameters":[{"name":"salutation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Salutation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalutationUpdate"}}}},"responses":{"200":{"description":"Salutation updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Salutation"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/self-billing-invoices/{document_id}":{"delete":{"tags":["self-billing invoices"],"summary":"Delete Self Billing Invoice","description":"Delete an editable self-billing invoice.","operationId":"DeleteSelfBillingInvoice","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Self-billing invoice deleted successfully."},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"get":{"tags":["self-billing invoices"],"summary":"Get Self Billing Invoice","description":"Return one self-billing invoice including all positions and calculated totals.","operationId":"GetSelfBillingInvoice","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Self-billing invoice found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoiceResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]},"patch":{"tags":["self-billing invoices"],"summary":"Patch Self Billing Invoice","description":"Update editable self-billing invoice header fields. Positions use separate endpoints.","operationId":"UpdateSelfBillingInvoice","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoiceUpdate"}}}},"responses":{"200":{"description":"Self-billing invoice updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoiceResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/self-billing-invoices/{document_id}/positions/{position_id}":{"delete":{"tags":["self-billing invoice positions"],"summary":"Remove Self Billing Invoice Position","description":"Delete one self-billing invoice position from an editable document.","operationId":"DeleteSelfBillingInvoicePosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"responses":{"202":{"description":"Self-billing invoice position deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.delete"]},"patch":{"tags":["self-billing invoice positions"],"summary":"Patch Self Billing Invoice Position","description":"Update one existing self-billing invoice position for an editable document.","operationId":"UpdateSelfBillingInvoicePosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"position_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Position Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoicePositionUpdate"}}}},"responses":{"200":{"description":"Self-billing invoice position updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoicePositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/customers/{customer_id}/services/{service_id}/product/{service_product_id}":{"delete":{"tags":["service products"],"summary":"Delete Service Product","description":"Delete a specific service-product relation","operationId":"delete_service_product","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Id"}}],"responses":{"202":{"description":"Service product deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.delete"]},"patch":{"tags":["service products"],"summary":"Update Service Product","description":"Update a specific service-product relationship.","operationId":"update_service_product","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductUpdate"}}}},"responses":{"200":{"description":"Service product updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProduct"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.write"]}},"/customers/{customer_id}/services/{service_id}":{"delete":{"tags":["services"],"summary":"Delete Service","description":"Delete a service for a customer","operationId":"delete_service","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}}],"responses":{"202":{"description":"Service deleted successfully.","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.delete"]},"get":{"tags":["services"],"summary":"Get Service","description":"Retrieve a specific service for a customer.","operationId":"get_service","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}}],"responses":{"200":{"description":"Service found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]},"patch":{"tags":["services"],"summary":"Update Service","description":"Update a specific service for a customer","operationId":"update_service","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUpdate"}}}},"responses":{"200":{"description":"Service updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.write"]}},"/tax-types/{tax_type_id}":{"delete":{"tags":["tax types"],"summary":"Delete Tax Type","description":"Delete a specific tax type","operationId":"delete_tax_type","parameters":[{"name":"tax_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Tax Type Id"}}],"responses":{"202":{"description":"Tax type deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["tax types"],"summary":"Get Tax Type","description":"Get a specific tax type","operationId":"get_tax_type","parameters":[{"name":"tax_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Tax Type Id"}}],"responses":{"200":{"description":"Tax type found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxType"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["tax types"],"summary":"Update Tax Type","description":"Update a specific tax type.","operationId":"update_tax_type","parameters":[{"name":"tax_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Tax Type Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxTypeUpdate"}}}},"responses":{"200":{"description":"Tax type updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxType"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/terms/{terms_id}":{"delete":{"tags":["terms"],"summary":"Delete Terms","description":"Delete a specific duration terms","operationId":"delete_terms","parameters":[{"name":"terms_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Terms Id"}}],"responses":{"202":{"description":"Duration Terms deleted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["terms"],"summary":"Get Terms","description":"Get a specific duration terms","operationId":"get_terms","parameters":[{"name":"terms_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Terms Id"}}],"responses":{"200":{"description":"Duration Terms found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Terms"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["terms"],"summary":"Update Terms","description":"Update a specific duration terms","operationId":"update_terms","parameters":[{"name":"terms_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Terms Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TermsUpdate"}}}},"responses":{"200":{"description":"Duration Terms updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Terms"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/titles/{title_id}":{"delete":{"tags":["titles"],"summary":"Delete Title","operationId":"delete_title","parameters":[{"name":"title_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Title Id"}}],"responses":{"202":{"description":"Title deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["titles"],"summary":"Get Title","operationId":"get_title","parameters":[{"name":"title_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Title Id"}}],"responses":{"200":{"description":"Title found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Title"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["titles"],"summary":"Update Title","operationId":"update_title","parameters":[{"name":"title_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Title Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TitleUpdate"}}}},"responses":{"200":{"description":"Title updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Title"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/invoices":{"get":{"tags":["invoices"],"summary":"Get All Invoices","description":"Return paginated invoices including calculated totals.","operationId":"GetInvoices","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["invoice_no","invoice_prefix","invoice_date","service_date","due_date","status","company","name","firstname","city","postcode"],"type":"string","description":"Field used for sorting","default":"invoice_date","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"desc","title":"Sort Order"},"description":"Sort direction"},{"name":"invoice_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by invoice_no using exact match","title":"Invoice No"},"description":"Filter by invoice_no using exact match"},{"name":"invoice_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by invoice_prefix using exact match","title":"Invoice Prefix"},"description":"Filter by invoice_prefix using exact match"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/InvoiceStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer_id using exact match","title":"Customer Id"},"description":"Filter by customer_id using exact match"},{"name":"company","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by company using a case-insensitive partial match","title":"Company"},"description":"Filter by company using a case-insensitive partial match"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by name using a case-insensitive partial match","title":"Name"},"description":"Filter by name using a case-insensitive partial match"},{"name":"firstname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by firstname using a case-insensitive partial match","title":"Firstname"},"description":"Filter by firstname using a case-insensitive partial match"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city using a case-insensitive partial match","title":"City"},"description":"Filter by city using a case-insensitive partial match"},{"name":"postcode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by postcode using a case-insensitive partial match","title":"Postcode"},"description":"Filter by postcode using a case-insensitive partial match"},{"name":"invoice_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by invoice_date greater than or equal","title":"Invoice Date From"},"description":"Filter by invoice_date greater than or equal"},{"name":"invoice_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by invoice_date less than or equal","title":"Invoice Date To"},"description":"Filter by invoice_date less than or equal"},{"name":"service_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date greater than or equal","title":"Service Date From"},"description":"Filter by service_date greater than or equal"},{"name":"service_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date less than or equal","title":"Service Date To"},"description":"Filter by service_date less than or equal"},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date greater than or equal","title":"Due Date From"},"description":"Filter by due_date greater than or equal"},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date less than or equal","title":"Due Date To"},"description":"Filter by due_date less than or equal"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]},"post":{"tags":["invoices"],"summary":"Post Invoice","description":"Create a new draft invoice.","operationId":"CreateInvoice","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreate"}}}},"responses":{"201":{"description":"Invoice created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/not-billed-customers":{"get":{"tags":["invoice_run"],"summary":"Get Not Billed Customers","description":"Return customers that are billable for the given month and year but do not have an invoice yet.","operationId":"get_not_billed_customers","parameters":[{"name":"month","in":"query","required":true,"schema":{"type":"integer","maximum":12,"minimum":1,"title":"Month"}},{"name":"year","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":2000,"title":"Year"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"customer_groups","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid4"}},{"type":"null"}],"title":"Customer Groups"}},{"name":"billcycles","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid4"}},{"type":"null"}],"title":"Billcycles"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotBilledCustomerList"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]}},"/invoice-proposals":{"post":{"tags":["invoice_run"],"summary":"Invoice Proposal","description":"Queue the creation of an invoice proposal for all matching customers.","operationId":"create_invoice_proposal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceProposalCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/invoice-runs":{"get":{"tags":["invoice_run"],"summary":"Get Invoice Runs","description":"Return the most recent invoice runs.","operationId":"get_invoice_runs","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/InvoiceRunStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"total_customers","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Filter by total_customers using exact match","title":"Total Customers"},"description":"Filter by total_customers using exact match"},{"name":"start_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by start_date greater than or equal","title":"Start Date From"},"description":"Filter by start_date greater than or equal"},{"name":"start_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by start_date less than or equal","title":"Start Date To"},"description":"Filter by start_date less than or equal"},{"name":"end_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by end_date greater than or equal","title":"End Date From"},"description":"Filter by end_date greater than or equal"},{"name":"end_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by end_date less than or equal","title":"End Date To"},"description":"Filter by end_date less than or equal"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceRunsResponse"},"title":"Response Get Invoice Runs"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]}},"/products/import/schema":{"get":{"tags":["products"],"summary":"Get Product Import Schema Endpoint","description":"Return the fixed product CSV import contract.","operationId":"get_product_import_schema","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvImportSchemaResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/products/import/template.csv":{"get":{"tags":["products"],"summary":"Get Product Import Template Endpoint","description":"Return a product CSV import header template.","operationId":"get_product_import_template","parameters":[{"name":"delimiter","in":"query","required":false,"schema":{"type":"string","default":",","title":"Delimiter"}}],"responses":{"200":{"description":"CSV template containing the product import header row.","content":{"text/csv":{"schema":{"type":"string"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/products/import":{"post":{"tags":["products"],"summary":"Import Products","description":"Import products and one new price per product from a CSV upload.","operationId":"import_products","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ImportProductsForm"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductImportSuccess"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]}},"/corrective-invoices/from-corrective-invoice":{"post":{"tags":["corrective invoices"],"summary":"Post Corrective Invoice From Corrective Invoice","description":"Create a new corrective invoice from an existing corrective invoice.","operationId":"CreateCorrectiveInvoiceFromCorrectiveInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceFromCorrectiveInvoiceRequest"}}},"required":true},"responses":{"201":{"description":"Corrective invoice created from corrective invoice.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/corrective-invoices/from-invoice":{"post":{"tags":["corrective invoices"],"summary":"Post Corrective Invoice From Invoice","description":"Create a new corrective invoice from an existing invoice.","operationId":"CreateCorrectiveInvoiceFromInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceFromInvoiceRequest"}}},"required":true},"responses":{"201":{"description":"Corrective invoice created from invoice.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/corrective-invoices/{document_id}/positions":{"post":{"tags":["corrective invoice positions"],"summary":"Post Corrective Invoice Position","description":"Create one new corrective invoice position for an editable document.","operationId":"CreateCorrectiveInvoicePosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoicePositionCreate"}}}},"responses":{"201":{"description":"Corrective invoice position created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectiveInvoicePositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/invoices/from-invoice":{"post":{"tags":["invoices"],"summary":"Post Invoice From Invoice","description":"Create a new draft invoice from an existing invoice.","operationId":"CreateInvoiceFromInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceFromInvoiceRequest"}}},"required":true},"responses":{"201":{"description":"Invoice created from invoice.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/invoices/from-order-confirmation":{"post":{"tags":["invoices"],"summary":"Post Invoice From Order Confirmation","description":"Create a new draft invoice from an existing order confirmation.","operationId":"CreateInvoiceFromOrderConfirmation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceFromOrderConfirmationRequest"}}},"required":true},"responses":{"201":{"description":"Invoice created from order confirmation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/invoices/from-quotation":{"post":{"tags":["invoices"],"summary":"Post Invoice From Quotation","description":"Create a new draft invoice from an existing quotation.","operationId":"CreateInvoiceFromQuotation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceFromQuotationRequest"}}},"required":true},"responses":{"201":{"description":"Invoice created from quotation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/invoice-commit":{"post":{"tags":["invoices"],"summary":"Commit Invoice","description":"Assign the final invoice number to a draft invoice.","operationId":"CommitInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCommitRequest"}}},"required":true},"responses":{"200":{"description":"Invoice committed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCommitResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/invoices/{invoice_id}/positions":{"post":{"tags":["invoice positions"],"summary":"Post Invoice Position","description":"Create one new invoice position for an editable invoice.","operationId":"CreateInvoicePosition","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePositionCreate"}}}},"responses":{"201":{"description":"Invoice position created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/order-confirmations":{"post":{"tags":["order confirmations"],"summary":"Post Order Confirmation","description":"Create a new order confirmation.","operationId":"CreateOrderConfirmation","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationCreate"}}}},"responses":{"201":{"description":"Order confirmation created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]},"get":{"tags":["order confirmations"],"summary":"Get All Order Confirmations","description":"Return paginated order confirmations including calculated totals.","operationId":"GetOrderConfirmations","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["document_no","document_prefix","document_date","service_date","due_date","company","name","firstname","city","postcode"],"type":"string","description":"Field used for sorting","default":"document_date","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"desc","title":"Sort Order"},"description":"Sort direction"},{"name":"document_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by document number using exact match","title":"Document No"},"description":"Filter by document number using exact match"},{"name":"document_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by document prefix using exact match","title":"Document Prefix"},"description":"Filter by document prefix using exact match"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer_id using exact match","title":"Customer Id"},"description":"Filter by customer_id using exact match"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CommercialDocumentStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"company","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by company using a case-insensitive partial match","title":"Company"},"description":"Filter by company using a case-insensitive partial match"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by name using a case-insensitive partial match","title":"Name"},"description":"Filter by name using a case-insensitive partial match"},{"name":"firstname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by firstname using a case-insensitive partial match","title":"Firstname"},"description":"Filter by firstname using a case-insensitive partial match"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city using a case-insensitive partial match","title":"City"},"description":"Filter by city using a case-insensitive partial match"},{"name":"postcode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by postcode using a case-insensitive partial match","title":"Postcode"},"description":"Filter by postcode using a case-insensitive partial match"},{"name":"document_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date greater than or equal","title":"Document Date From"},"description":"Filter by document date greater than or equal"},{"name":"document_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date less than or equal","title":"Document Date To"},"description":"Filter by document date less than or equal"},{"name":"service_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date greater than or equal","title":"Service Date From"},"description":"Filter by service_date greater than or equal"},{"name":"service_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date less than or equal","title":"Service Date To"},"description":"Filter by service_date less than or equal"},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date greater than or equal","title":"Due Date From"},"description":"Filter by due_date greater than or equal"},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date less than or equal","title":"Due Date To"},"description":"Filter by due_date less than or equal"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]}},"/order-confirmations/from-order-confirmation":{"post":{"tags":["order confirmations"],"summary":"Post Order Confirmation From Order Confirmation","description":"Create a new order confirmation from an existing order confirmation.","operationId":"CreateOrderConfirmationFromOrderConfirmation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationFromOrderConfirmationRequest"}}},"required":true},"responses":{"201":{"description":"Order confirmation created from order confirmation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/order-confirmations/from-quotation":{"post":{"tags":["order confirmations"],"summary":"Post Order Confirmation From Quotation","description":"Create a new order confirmation from an existing quotation.","operationId":"CreateOrderConfirmationFromQuotation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationFromQuotationRequest"}}},"required":true},"responses":{"201":{"description":"Order confirmation created from quotation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/order-confirmations/{document_id}/positions":{"post":{"tags":["order confirmation positions"],"summary":"Post Order Confirmation Position","description":"Create one new order confirmation position for an editable document.","operationId":"CreateOrderConfirmationPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationPositionCreate"}}}},"responses":{"201":{"description":"Order confirmation position created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmationPositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/payment-reminders":{"post":{"tags":["payment reminders"],"summary":"Post Payment Reminder","operationId":"CreatePaymentReminder","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderCreate"}}}},"responses":{"201":{"description":"Payment reminder created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]},"get":{"tags":["payment reminders"],"summary":"Get All Payment Reminders","description":"Return paginated payment reminders including calculated totals.","operationId":"GetPaymentReminders","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["document_no","document_prefix","document_date","service_date","due_date","company","name","firstname","city","postcode"],"type":"string","description":"Field used for sorting","default":"document_date","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"desc","title":"Sort Order"},"description":"Sort direction"},{"name":"document_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by document number using exact match","title":"Document No"},"description":"Filter by document number using exact match"},{"name":"document_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by document prefix using exact match","title":"Document Prefix"},"description":"Filter by document prefix using exact match"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer_id using exact match","title":"Customer Id"},"description":"Filter by customer_id using exact match"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CommercialDocumentStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"company","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by company using a case-insensitive partial match","title":"Company"},"description":"Filter by company using a case-insensitive partial match"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by name using a case-insensitive partial match","title":"Name"},"description":"Filter by name using a case-insensitive partial match"},{"name":"firstname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by firstname using a case-insensitive partial match","title":"Firstname"},"description":"Filter by firstname using a case-insensitive partial match"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city using a case-insensitive partial match","title":"City"},"description":"Filter by city using a case-insensitive partial match"},{"name":"postcode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by postcode using a case-insensitive partial match","title":"Postcode"},"description":"Filter by postcode using a case-insensitive partial match"},{"name":"document_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date greater than or equal","title":"Document Date From"},"description":"Filter by document date greater than or equal"},{"name":"document_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date less than or equal","title":"Document Date To"},"description":"Filter by document date less than or equal"},{"name":"service_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date greater than or equal","title":"Service Date From"},"description":"Filter by service_date greater than or equal"},{"name":"service_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date less than or equal","title":"Service Date To"},"description":"Filter by service_date less than or equal"},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date greater than or equal","title":"Due Date From"},"description":"Filter by due_date greater than or equal"},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date less than or equal","title":"Due Date To"},"description":"Filter by due_date less than or equal"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]}},"/payment-reminders/from-invoice":{"post":{"tags":["payment reminders"],"summary":"Post Payment Reminder From Invoice","description":"Create a new payment reminder from an existing invoice.","operationId":"CreatePaymentReminderFromInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderFromInvoiceRequest"}}},"required":true},"responses":{"201":{"description":"Payment reminder created from invoice.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/payment-reminders/from-payment-reminder":{"post":{"tags":["payment reminders"],"summary":"Post Payment Reminder From Payment Reminder","description":"Create a new payment reminder from an existing payment reminder.","operationId":"CreatePaymentReminderFromPaymentReminder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderFromPaymentReminderRequest"}}},"required":true},"responses":{"201":{"description":"Payment reminder created from payment reminder.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/payment-reminders/{document_id}/positions":{"post":{"tags":["payment reminder positions"],"summary":"Post Payment Reminder Position","operationId":"CreatePaymentReminderPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderPositionCreate"}}}},"responses":{"201":{"description":"Payment reminder position created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentReminderPositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/payment-targets/":{"post":{"tags":["payment targets"],"summary":"Create Payment Target","description":"Create a new payment target.","operationId":"create_payment_target","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentTargetCreate"}}}},"responses":{"201":{"description":"Payment target created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentTarget"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["payment targets"],"summary":"Get All Payment Targets","description":"Get all payment targets with pagination, sorting and filtering.","operationId":"get_all_payment_targets","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["last_change","description","target_1_days","target_1_skonto","target_2_days","target_2_skonto","target_3_days","target_3_skonto"],"type":"string","description":"Field used for sorting","default":"last_change","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using LIKE","title":"Description"},"description":"Filter by description using LIKE"},{"name":"target_1_days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by target_1_days using exact match","title":"Target 1 Days"},"description":"Filter by target_1_days using exact match"},{"name":"target_1_skonto","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"description":"Filter by target_1_skonto using exact match","title":"Target 1 Skonto"},"description":"Filter by target_1_skonto using exact match"},{"name":"target_2_days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by target_2_days using exact match","title":"Target 2 Days"},"description":"Filter by target_2_days using exact match"},{"name":"target_2_skonto","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"description":"Filter by target_2_skonto using exact match","title":"Target 2 Skonto"},"description":"Filter by target_2_skonto using exact match"},{"name":"target_3_days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by target_3_days using exact match","title":"Target 3 Days"},"description":"Filter by target_3_days using exact match"},{"name":"target_3_skonto","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"description":"Filter by target_3_skonto using exact match","title":"Target 3 Skonto"},"description":"Filter by target_3_skonto using exact match"}],"responses":{"200":{"description":"Payment targets found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentTargetListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]}},"/product-feature-keys":{"post":{"tags":["product feature keys"],"summary":"Create Product Feature Key","description":"Create a new Product Feature Key.","operationId":"createProductFeatureKey","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureKeyCreate"}}}},"responses":{"201":{"description":"Product Feature Key created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureKey"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]},"get":{"tags":["product feature keys"],"summary":"Read Product Feature Keys","description":"Get all Product Feature Keys, with the option to limit the scope","operationId":"GetProductFeatureKeys","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Product Feature Keys found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureKeyListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/products/{product_id}/product-features":{"post":{"tags":["product features"],"summary":"Create Product Feature","description":"Create a new Product Feature for the given product.","operationId":"CreateProductFeature","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureCreate"}}}},"responses":{"201":{"description":"Product Feature created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeature"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]},"get":{"tags":["product features"],"summary":"Read Product Features","description":"Get all Product Features for a specific Product, with optional pagination.","operationId":"GetProductFeatures","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Product Features found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeatureListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/product-groups":{"post":{"tags":["product groups"],"summary":"Create Product Group","description":"Create a new product group","operationId":"create_product_group","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductGroupCreate"}}}},"responses":{"201":{"description":"Product group created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductGroup"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]},"get":{"tags":["product groups"],"summary":"Get All Product Groups","description":"Retrieve all product groups with pagination, sorting and filtering.","operationId":"get_all_product_groups","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip for pagination","default":0,"title":"Skip"},"description":"Number of records to skip for pagination"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["last_change","description"],"type":"string","description":"Field used for sorting","default":"last_change","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using LIKE","title":"Description"},"description":"Filter by description using LIKE"}],"responses":{"200":{"description":"List of product groups.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductGroupListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/products/{product_id}/product-prices":{"post":{"tags":["product prices"],"summary":"Create Product Price","description":"Create a new product price for a specific product.","operationId":"create_product_price","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductPriceCreate"}}}},"responses":{"201":{"description":"Product price created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductPrice"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]},"get":{"tags":["product prices"],"summary":"Get All Product Prices","description":"Retrieve all product prices for a product with pagination, including product and tax_type.","operationId":"get_all_product_prices","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"}],"responses":{"200":{"description":"List of product prices.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductPriceListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/products":{"post":{"tags":["products"],"summary":"Create Product","description":"Create a new product entry including its mandatory initial price.","operationId":"create_product","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductCreate"}}}},"responses":{"201":{"description":"Product created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]},"get":{"tags":["products"],"summary":"Get All Products","description":"Retrieve all products with pagination, sorting and filtering.\n\nNote:\n- This endpoint returns compact items (without full historical price list).\n- current_price is selected via a correlated subquery (valid_from <= today),\n  so only one price row per product is loaded.","operationId":"get_all_products","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip for pagination","default":0,"title":"Skip"},"description":"Number of records to skip for pagination"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["product_number","description","last_change","cycle_type","discountable","pro_rata","product_group.description","account.account_no","account.description","product_unit.description","current_price.net_price"],"type":"string","description":"Field used for sorting","default":"product_number","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"asc","title":"Sort Order"},"description":"Sort direction"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by description using a case-insensitive partial match","title":"Description"},"description":"Filter by description using a case-insensitive partial match"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"description":"Global dropdown search. Values shorter than three trimmed characters are ignored.","title":"Search"},"description":"Global dropdown search. Values shorter than three trimmed characters are ignored."},{"name":"product_number","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by product_number using exact match","title":"Product Number"},"description":"Filter by product_number using exact match"},{"name":"product_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by product_group_id using exact match","title":"Product Group Id"},"description":"Filter by product_group_id using exact match"},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by account_id using exact match","title":"Account Id"},"description":"Filter by account_id using exact match"},{"name":"product_unit_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by product_unit_id using exact match","title":"Product Unit Id"},"description":"Filter by product_unit_id using exact match"},{"name":"cycle_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CycleType"},{"type":"null"}],"description":"Filter by cycle_type using exact match","title":"Cycle Type"},"description":"Filter by cycle_type using exact match"},{"name":"discountable","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by discountable using exact match","title":"Discountable"},"description":"Filter by discountable using exact match"},{"name":"pro_rata","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by pro_rata using exact match","title":"Pro Rata"},"description":"Filter by pro_rata using exact match"},{"name":"tax_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by the tax_type_id of the current product price using exact match","title":"Tax Type Id"},"description":"Filter by the tax_type_id of the current product price using exact match"},{"name":"feature","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Exact product feature filter in key=value format. Repeat the parameter to require multiple feature pairs.","title":"Feature"},"description":"Exact product feature filter in key=value format. Repeat the parameter to require multiple feature pairs."}],"responses":{"200":{"description":"Products found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/products/{product_id}/product-relationships":{"post":{"tags":["product relationship"],"summary":"Create Product Relationship","description":"Create one relationship that is visible from both involved products.","operationId":"create_product_relationship","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipCreate"}}}},"responses":{"201":{"description":"Product relationship created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationship"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.write"]},"get":{"tags":["product relationship"],"summary":"Read Product Relationships","description":"Get outgoing and incoming relationships relative to one product.","operationId":"read_product_relationships","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Product relationships found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipListResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/product-units":{"post":{"tags":["product units"],"summary":"Create Product Unit","description":"Create a product unit.","operationId":"create_product_unit","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUnitCreate"}}}},"responses":{"201":{"description":"Product unit created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUnit"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["product units"],"summary":"Get All Product Units","description":"Get all product units, with the option to limit the scope.","operationId":"get_all_product_units","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Product units found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUnitListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]}},"/quotations":{"post":{"tags":["quotations"],"summary":"Post Quotation","description":"Create a new quotation.","operationId":"CreateQuotation","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationCreate"}}}},"responses":{"201":{"description":"Quotation created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]},"get":{"tags":["quotations"],"summary":"Get All Quotations","description":"Return paginated quotations including calculated totals.","operationId":"GetQuotations","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["document_no","document_prefix","document_date","service_date","due_date","company","name","firstname","city","postcode"],"type":"string","description":"Field used for sorting","default":"document_date","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"desc","title":"Sort Order"},"description":"Sort direction"},{"name":"document_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by document number using exact match","title":"Document No"},"description":"Filter by document number using exact match"},{"name":"document_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by document prefix using exact match","title":"Document Prefix"},"description":"Filter by document prefix using exact match"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer_id using exact match","title":"Customer Id"},"description":"Filter by customer_id using exact match"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CommercialDocumentStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"company","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by company using a case-insensitive partial match","title":"Company"},"description":"Filter by company using a case-insensitive partial match"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by name using a case-insensitive partial match","title":"Name"},"description":"Filter by name using a case-insensitive partial match"},{"name":"firstname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by firstname using a case-insensitive partial match","title":"Firstname"},"description":"Filter by firstname using a case-insensitive partial match"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city using a case-insensitive partial match","title":"City"},"description":"Filter by city using a case-insensitive partial match"},{"name":"postcode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by postcode using a case-insensitive partial match","title":"Postcode"},"description":"Filter by postcode using a case-insensitive partial match"},{"name":"document_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date greater than or equal","title":"Document Date From"},"description":"Filter by document date greater than or equal"},{"name":"document_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date less than or equal","title":"Document Date To"},"description":"Filter by document date less than or equal"},{"name":"service_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date greater than or equal","title":"Service Date From"},"description":"Filter by service_date greater than or equal"},{"name":"service_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date less than or equal","title":"Service Date To"},"description":"Filter by service_date less than or equal"},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date greater than or equal","title":"Due Date From"},"description":"Filter by due_date greater than or equal"},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date less than or equal","title":"Due Date To"},"description":"Filter by due_date less than or equal"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]}},"/quotations/from-quotation":{"post":{"tags":["quotations"],"summary":"Post Quotation From Quotation","description":"Create a new quotation from an existing quotation.","operationId":"CreateQuotationFromQuotation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationFromQuotationRequest"}}},"required":true},"responses":{"201":{"description":"Quotation created from quotation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/quotations/{document_id}/positions":{"post":{"tags":["quotation positions"],"summary":"Post Quotation Position","description":"Create one new quotation position for an editable document.","operationId":"CreateQuotationPosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationPositionCreate"}}}},"responses":{"201":{"description":"Quotation position created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationPositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/salutations":{"post":{"tags":["salutations"],"summary":"Create Salutation","description":"Create a new salutation.","operationId":"create_salutation","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalutationCreate"}}}},"responses":{"201":{"description":"Salutation created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Salutation"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["salutations"],"summary":"Get All Salutations","description":"Get all salutations with pagination.","operationId":"get_all_salutations","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Salutations found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalutationListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]}},"/self-billing-invoices":{"post":{"tags":["self-billing invoices"],"summary":"Post Self Billing Invoice","description":"Create a new self-billing invoice.","operationId":"CreateSelfBillingInvoice","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoiceCreate"}}}},"responses":{"201":{"description":"Self-billing invoice created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]},"get":{"tags":["self-billing invoices"],"summary":"Get All Self Billing Invoices","description":"Return paginated self-billing invoices including calculated totals.","operationId":"GetSelfBillingInvoices","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Skip"},"description":"Number of records to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return","default":100,"title":"Limit"},"description":"Maximum number of records to return"},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["document_no","document_prefix","document_date","service_date","due_date","company","name","firstname","city","postcode"],"type":"string","description":"Field used for sorting","default":"document_date","title":"Sort By"},"description":"Field used for sorting"},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort direction","default":"desc","title":"Sort Order"},"description":"Sort direction"},{"name":"document_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by document number using exact match","title":"Document No"},"description":"Filter by document number using exact match"},{"name":"document_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by document prefix using exact match","title":"Document Prefix"},"description":"Filter by document prefix using exact match"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"description":"Filter by customer_id using exact match","title":"Customer Id"},"description":"Filter by customer_id using exact match"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CommercialDocumentStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"company","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by company using a case-insensitive partial match","title":"Company"},"description":"Filter by company using a case-insensitive partial match"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by name using a case-insensitive partial match","title":"Name"},"description":"Filter by name using a case-insensitive partial match"},{"name":"firstname","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by firstname using a case-insensitive partial match","title":"Firstname"},"description":"Filter by firstname using a case-insensitive partial match"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by city using a case-insensitive partial match","title":"City"},"description":"Filter by city using a case-insensitive partial match"},{"name":"postcode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by postcode using a case-insensitive partial match","title":"Postcode"},"description":"Filter by postcode using a case-insensitive partial match"},{"name":"document_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date greater than or equal","title":"Document Date From"},"description":"Filter by document date greater than or equal"},{"name":"document_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by document date less than or equal","title":"Document Date To"},"description":"Filter by document date less than or equal"},{"name":"service_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date greater than or equal","title":"Service Date From"},"description":"Filter by service_date greater than or equal"},{"name":"service_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by service_date less than or equal","title":"Service Date To"},"description":"Filter by service_date less than or equal"},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date greater than or equal","title":"Due Date From"},"description":"Filter by due_date greater than or equal"},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by due_date less than or equal","title":"Due Date To"},"description":"Filter by due_date less than or equal"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoiceListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read"]}},"/self-billing-invoices/from-self-billing-invoice":{"post":{"tags":["self-billing invoices"],"summary":"Post Self Billing Invoice From Self Billing Invoice","description":"Create a new self-billing invoice from an existing self-billing invoice.","operationId":"CreateSelfBillingInvoiceFromSelfBillingInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoiceFromSelfBillingInvoiceRequest"}}},"required":true},"responses":{"201":{"description":"Self-billing invoice created from self-billing invoice.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoiceIdResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/self-billing-invoices/{document_id}/positions":{"post":{"tags":["self-billing invoice positions"],"summary":"Post Self Billing Invoice Position","description":"Create one new self-billing invoice position for an editable document.","operationId":"CreateSelfBillingInvoicePosition","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoicePositionCreate"}}}},"responses":{"201":{"description":"Self-billing invoice position created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelfBillingInvoicePositionDetailed"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.write"]}},"/customers/{customer_id}/services/{service_id}/product":{"post":{"tags":["service products"],"summary":"Create Service Product","description":"Create a new service-product relationship","operationId":"create_service_product","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductCreate"}}}},"responses":{"201":{"description":"Service product created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProduct"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.write"]}},"/customers/{customer_id}/services":{"post":{"tags":["services"],"summary":"Create Service","description":"Create a new service","operationId":"create_service","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCreate"}}}},"responses":{"201":{"description":"Service created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.write"]},"get":{"tags":["services"],"summary":"Get Services","description":"Retrieve all services for a given customer.","operationId":"get_services","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"List of services found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]}},"/tax-types":{"post":{"tags":["tax types"],"summary":"Create Tax Type","description":"Create a new tax type.","operationId":"create_tax_type","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxTypeCreate"}}}},"responses":{"201":{"description":"Tax type created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxType"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["tax types"],"summary":"Get All Tax Types","description":"Get all tax types with pagination","operationId":"get_all_tax_types","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Tax types found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxTypeListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]}},"/terms":{"post":{"tags":["terms"],"summary":"Create Terms","description":"Create a new duration terms.","operationId":"create_terms","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TermsCreate"}}}},"responses":{"201":{"description":"Duration Terms created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Terms"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["terms"],"summary":"Get All Terms","description":"Get all duration terms with pagination","operationId":"get_all_terms","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Terms found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TermsListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]}},"/titles":{"post":{"tags":["titles"],"summary":"Create Title","operationId":"create_title","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TitleCreate"}}}},"responses":{"201":{"description":"Title created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Title"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"get":{"tags":["titles"],"summary":"Get All Titles","operationId":"get_all_titles","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Titles found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TitleListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]}},"/products/next-number":{"get":{"tags":["products"],"summary":"Get Next Product Number","description":"Get a non-reserving product-number suggestion that may become stale.","operationId":"get_next_product_number","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NextNumberResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read"]}},"/product-relationship-types":{"get":{"tags":["product relationship types"],"summary":"Get All Product Relationship Types","description":"Return the editable catalog of product relationship type definitions.","operationId":"get_all_product_relationship_types","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Product relationship types found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipTypeListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_relationship_types.read"]},"post":{"tags":["product relationship types"],"summary":"Create Product Relationship Type","description":"Create a complete symmetric or asymmetric type definition atomically.","operationId":"create_product_relationship_type","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipTypeCreate"}}}},"responses":{"201":{"description":"Product relationship type created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipType"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_relationship_types.write"]}},"/product-relationship-types/{product_relationship_type_id}":{"get":{"tags":["product relationship types"],"summary":"Get Product Relationship Type","description":"Return one product relationship type definition.","operationId":"get_product_relationship_type","parameters":[{"name":"product_relationship_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Relationship Type Id"}}],"responses":{"200":{"description":"Product relationship type found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipType"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_relationship_types.read"]},"patch":{"tags":["product relationship types"],"summary":"Update Product Relationship Type","description":"Update only the user-facing descriptions of a type definition.","operationId":"update_product_relationship_type","parameters":[{"name":"product_relationship_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Relationship Type Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipTypeUpdate"}}}},"responses":{"200":{"description":"Product relationship type updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductRelationshipType"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_relationship_types.write"]},"delete":{"tags":["product relationship types"],"summary":"Delete Product Relationship Type","description":"Delete an unused type definition and all of its directional roles.","operationId":"delete_product_relationship_type","parameters":[{"name":"product_relationship_type_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Relationship Type Id"}}],"responses":{"204":{"description":"Product relationship type deleted."},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_relationship_types.write"]}},"/customers/{customer_id}/services/{service_id}/products/{service_product_id}":{"get":{"tags":["service products"],"summary":"Get Service Product","description":"Retrieve a specific service product by ID.","operationId":"get_service_product","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Id"}}],"responses":{"200":{"description":"Service product found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]}},"/customers/{customer_id}/services/{service_id}/products":{"get":{"tags":["service products"],"summary":"Get Service Products","description":"Retrieve all service products for a given service and customer.","operationId":"get_service_products","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}}],"responses":{"200":{"description":"List of service products found.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceProductResponse"},"title":"Response 200 Get Service Products"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]}},"/service-attribute-keys":{"get":{"tags":["service attribute keys"],"summary":"Read Service Attribute Keys","description":"Return paginated service attribute keys.","operationId":"get_service_attribute_keys","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeKeyListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"post":{"tags":["service attribute keys"],"summary":"Create Service Attribute Key","description":"Create a service attribute key.","operationId":"create_service_attribute_key","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeKey"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/service-attribute-keys/{service_attribute_key_id}":{"get":{"tags":["service attribute keys"],"summary":"Read Service Attribute Key","description":"Return a service attribute key by ID.","operationId":"get_service_attribute_key","parameters":[{"name":"service_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Attribute Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeKey"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["service attribute keys"],"summary":"Update Service Attribute Key","description":"Update a service attribute key.","operationId":"update_service_attribute_key","parameters":[{"name":"service_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Attribute Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeKeyUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeKey"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"delete":{"tags":["service attribute keys"],"summary":"Delete Service Attribute Key","description":"Delete a service attribute key if it is not referenced.","operationId":"delete_service_attribute_key","parameters":[{"name":"service_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Attribute Key Id"}}],"responses":{"202":{"description":"Service attribute key deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/customers/{customer_id}/services/{service_id}/attributes":{"get":{"tags":["service attributes"],"summary":"Read Service Attributes","description":"Return paginated service attributes.","operationId":"get_service_attributes","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeListResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]},"post":{"tags":["service attributes"],"summary":"Create Service Attribute","description":"Create a service attribute.","operationId":"create_service_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttribute"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.write"]}},"/customers/{customer_id}/services/{service_id}/attributes/{service_attribute_id}":{"get":{"tags":["service attributes"],"summary":"Read Service Attribute","description":"Return a service attribute by ID.","operationId":"get_service_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Attribute Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]},"patch":{"tags":["service attributes"],"summary":"Update Service Attribute","description":"Update a service attribute.","operationId":"update_service_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Attribute Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttributeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAttribute"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.write"]},"delete":{"tags":["service attributes"],"summary":"Delete Service Attribute","description":"Delete a service attribute.","operationId":"delete_service_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Attribute Id"}}],"responses":{"202":{"description":"Service attribute deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.delete"]}},"/service-product-attribute-keys":{"get":{"tags":["service product attribute keys"],"summary":"Read Service Product Attribute Keys","description":"Return paginated service product attribute keys.","operationId":"get_service_product_attribute_keys","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeKeyListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"post":{"tags":["service product attribute keys"],"summary":"Create Service Product Attribute Key","description":"Create a service product attribute key.","operationId":"create_service_product_attribute_key","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeKey"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/service-product-attribute-keys/{service_product_attribute_key_id}":{"get":{"tags":["service product attribute keys"],"summary":"Read Service Product Attribute Key","description":"Return a service product attribute key by ID.","operationId":"get_service_product_attribute_key","parameters":[{"name":"service_product_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Attribute Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeKey"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["service product attribute keys"],"summary":"Update Service Product Attribute Key","description":"Update a service product attribute key.","operationId":"update_service_product_attribute_key","parameters":[{"name":"service_product_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Attribute Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeKeyUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeKey"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]},"delete":{"tags":["service product attribute keys"],"summary":"Delete Service Product Attribute Key","description":"Delete a service product attribute key if it is not referenced.","operationId":"delete_service_product_attribute_key","parameters":[{"name":"service_product_attribute_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Attribute Key Id"}}],"responses":{"202":{"description":"Service product attribute key deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"547":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/customers/{customer_id}/services/{service_id}/products/{service_product_id}/attributes":{"get":{"tags":["service product attributes"],"summary":"Read Service Product Attributes","description":"Return paginated service product attributes.","operationId":"get_service_product_attributes","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeListResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]},"post":{"tags":["service product attributes"],"summary":"Create Service Product Attribute","description":"Create a service product attribute.","operationId":"create_service_product_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttribute"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.write"]}},"/customers/{customer_id}/services/{service_id}/products/{service_product_id}/attributes/{service_product_attribute_id}":{"get":{"tags":["service product attributes"],"summary":"Read Service Product Attribute","description":"Return a service product attribute by ID.","operationId":"get_service_product_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Id"}},{"name":"service_product_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Attribute Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]},"patch":{"tags":["service product attributes"],"summary":"Update Service Product Attribute","description":"Update a service product attribute.","operationId":"update_service_product_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Id"}},{"name":"service_product_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Attribute Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttributeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProductAttribute"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.write"]},"delete":{"tags":["service product attributes"],"summary":"Delete Service Product Attribute","description":"Delete a service product attribute.","operationId":"delete_service_product_attribute","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}},{"name":"service_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Id"}},{"name":"service_product_attribute_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Product Attribute Id"}}],"responses":{"202":{"description":"Service product attribute deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.delete"]}},"/services/next-number":{"get":{"tags":["services"],"summary":"Get Next Service Number","description":"Get a non-reserving service-number suggestion that may become stale.","operationId":"get_next_service_number","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NextNumberResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]}},"/customers/{customer_id}/services/{service_id}/customer-context":{"get":{"tags":["services"],"summary":"Get Service Customer Context","description":"Retrieve a specific service for a customer including customer context.","operationId":"get_service_customer_context","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Service Id"}}],"responses":{"200":{"description":"Service found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerServiceDetailResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["service.read"]}},"/settings":{"get":{"tags":["settings"],"summary":"Get All Settings","description":"Get all business settings.","operationId":"get_settings","responses":{"200":{"description":"Settings found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.read"]},"patch":{"tags":["settings"],"summary":"Patch Settings","description":"Update business settings in the singleton database row.","operationId":"patch_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsPatchRequest"}}},"required":true},"responses":{"200":{"description":"Settings updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsResponse"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["settings.write"]}},"/settings/datev":{"get":{"tags":["settings"],"summary":"Get Datev Settings","operationId":"get_datev_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatevSettingsResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.configure","datev.read","settings.read","settings.write"]},"put":{"tags":["settings"],"summary":"Put Datev Settings","operationId":"put_datev_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatevSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatevSettingsResponse"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.configure","settings.write"]}},"/settings/bank-accounts":{"get":{"tags":["settings"],"summary":"Read Bank Accounts","operationId":"get_bank_accounts","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccountsResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","opos.write","settings.read","settings.write"]},"put":{"tags":["settings"],"summary":"Save Bank Accounts","operationId":"put_bank_accounts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccountsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccountsResponse"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write","settings.write"]}},"/document-styles/{style_id}":{"get":{"tags":["document styles"],"summary":"Get Document Style","description":"Return one document style including its active source file.","operationId":"get_document_style","parameters":[{"name":"style_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Style Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"patch":{"tags":["document styles"],"summary":"Update Document Style","description":"Update one document style's key, active state, or CSS file.","operationId":"update_document_style","parameters":[{"name":"style_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Style Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateDocumentStyleForm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]},"delete":{"tags":["document styles"],"summary":"Delete Document Style","operationId":"delete_document_style","parameters":[{"name":"style_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Style Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.delete"]}},"/styles/{style_id}":{"get":{"tags":["document styles"],"summary":"Get Document Style","description":"Return one document style including its active source file.","operationId":"get_style","parameters":[{"name":"style_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Style Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"patch":{"tags":["document styles"],"summary":"Update Document Style","description":"Update one document style's key, active state, or CSS file.","operationId":"update_style","parameters":[{"name":"style_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Style Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateDocumentStyleForm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]},"delete":{"tags":["document styles"],"summary":"Delete Document Style","operationId":"delete_style","parameters":[{"name":"style_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Style Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.delete"]}},"/document-styles":{"get":{"tags":["document styles"],"summary":"Get All Document Styles","description":"Return document styles with filtering, sorting and pagination.","operationId":"get_all_document_styles","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["style_key","is_active","last_change"],"type":"string","default":"last_change","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Order"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"post":{"tags":["document styles"],"summary":"Create Document Style","description":"Create one document style and store its active CSS file.","operationId":"create_document_style","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateDocumentStyleForm"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/styles":{"get":{"tags":["document styles"],"summary":"Get All Document Styles","description":"Return document styles with filtering, sorting and pagination.","operationId":"get_all_styles","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["style_key","is_active","last_change"],"type":"string","default":"last_change","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Order"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"post":{"tags":["document styles"],"summary":"Create Document Style","description":"Create one document style and store its active CSS file.","operationId":"create_style","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateDocumentStyleForm"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StyleResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/document-assets/{asset_id}":{"get":{"tags":["document assets"],"summary":"Get Document Asset","description":"Return one document asset including its active source file.","operationId":"get_document_asset","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"patch":{"tags":["document assets"],"summary":"Update Document Asset","description":"Update one document asset's key, active state, or source file.","operationId":"update_document_asset","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateDocumentAssetForm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]},"delete":{"tags":["document assets"],"summary":"Delete Document Asset","operationId":"delete_document_asset","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Asset Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.delete"]}},"/document-assets/{asset_id}/preview":{"get":{"tags":["document assets"],"summary":"Get Document Asset Preview","description":"Return the active asset image as a secure binary preview.","operationId":"get_document_asset_preview","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Asset Id"}}],"responses":{"200":{"description":"Asset image preview","content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"415":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/document-assets":{"get":{"tags":["document assets"],"summary":"Get All Document Assets","description":"Return document assets with filtering, sorting and pagination.","operationId":"get_all_document_assets","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["asset_key","is_active","last_change"],"type":"string","default":"last_change","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Order"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"post":{"tags":["document assets"],"summary":"Create Document Asset","description":"Create one document asset and store its active source file.","operationId":"create_document_asset","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateDocumentAssetForm"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/document-backgrounds/{background_id}":{"get":{"tags":["document backgrounds"],"summary":"Get Document Background","description":"Return one document background including its active source file.","operationId":"get_document_background","parameters":[{"name":"background_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Background Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentBackgroundResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"patch":{"tags":["document backgrounds"],"summary":"Update Document Background","description":"Update metadata, activation state or source file of one document background.","operationId":"update_document_background","parameters":[{"name":"background_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Background Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateDocumentBackgroundForm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentBackgroundResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]},"delete":{"tags":["document backgrounds"],"summary":"Delete Document Background","description":"Deactivate a document background when no active template still uses it.","operationId":"delete_document_background","parameters":[{"name":"background_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Background Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.delete"]}},"/document-backgrounds/{background_id}/preview":{"post":{"tags":["document backgrounds"],"summary":"Preview Document Background","description":"Render one document background source as a secure PNG preview.","operationId":"preview_document_background","parameters":[{"name":"background_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Background Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DocumentBackgroundPreviewRequest"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Rendered document background A4 PNG preview","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"415":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/document-backgrounds":{"get":{"tags":["document backgrounds"],"summary":"Get All Document Backgrounds","description":"Return document backgrounds with filtering, sorting and pagination.","operationId":"get_all_document_backgrounds","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["background_key","source_type","is_active","last_change"],"type":"string","default":"last_change","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Order"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}},{"name":"source_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DocumentBackgroundSourceTypeEnum"},{"type":"null"}],"title":"Source Type"}},{"name":"style_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Style Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentBackgroundListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"post":{"tags":["document backgrounds"],"summary":"Create Document Background","description":"Create a reusable document background and store its source file.","operationId":"create_document_background","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateDocumentBackgroundForm"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentBackgroundResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/document-templates/placeholders":{"get":{"tags":["document templates"],"summary":"Get Document Template Placeholders","description":"Return template placeholders and helper metadata for template editors.","operationId":"get_document_template_placeholders","parameters":[{"name":"document_type_key","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DocumentTypeEnum"},{"type":"null"}],"title":"Document Type Key"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":3},{"type":"null"}],"description":"Case-insensitive placeholder filter comparable to ILIKE %term%.","title":"Search"},"description":"Case-insensitive placeholder filter comparable to ILIKE %term%."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatePlaceholderCatalogResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/document-templates/compliance-requirements":{"get":{"tags":["document templates"],"summary":"Get Document Template Compliance Requirements","description":"Return the configured template compliance requirements for one document type.","operationId":"get_document_template_compliance_requirements","parameters":[{"name":"document_type_key","in":"query","required":false,"schema":{"$ref":"#/components/schemas/DocumentTypeEnum","default":"invoice"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateComplianceRequirementsResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/document-templates/{template_id}/compliance":{"get":{"tags":["document templates"],"summary":"Get Document Template Compliance","description":"Check one document template version for compliance by template id.","operationId":"get_document_template_compliance","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateComplianceResultResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/document-templates/{template_id}":{"get":{"tags":["document templates"],"summary":"Get Document Template","description":"Return one document template including style, background and active source metadata.","operationId":"get_document_template","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"patch":{"tags":["document templates"],"summary":"Update Document Template","description":"Update mutable metadata for an existing document template.","operationId":"update_document_template_metadata","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UpdateDocumentTemplateForm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]},"delete":{"tags":["document templates"],"summary":"Delete Document Template","operationId":"delete_document_template","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Template Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.delete"]}},"/document-templates/{template_id}/versions":{"get":{"tags":["document templates"],"summary":"Get Document Template Versions","description":"Return all versions that belong to a template family.","operationId":"get_document_template_versions","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateListResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"post":{"tags":["document templates"],"summary":"Create Document Template Version","description":"Create a successor version of an active document template.","operationId":"create_document_template_version","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Template Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateDocumentTemplateVersionForm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/document-templates/{template_id}/html":{"get":{"tags":["document templates"],"summary":"Get Document Template Html","description":"Return the active HTML source of one template.","operationId":"get_document_template_html","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateHtmlResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/document-templates":{"get":{"tags":["document templates"],"summary":"Get All Document Templates","description":"Return document templates with filtering, sorting and pagination.","operationId":"get_all_document_templates","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["template_key","is_default","is_active","last_change"],"type":"string","default":"last_change","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Order"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}},{"name":"document_type_key","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DocumentTypeEnum"},{"type":"null"}],"title":"Document Type Key"}},{"name":"background_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Background Id"}},{"name":"style_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Style Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"post":{"tags":["document templates"],"summary":"Create Document Template","description":"Create a document template for one fixed document type.","operationId":"create_document_template","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateDocumentTemplateForm"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateResponse"}}}},"400":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"409":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/customers/{customer_id}/documents/{document_id}":{"get":{"tags":["documents"],"summary":"Get Document","operationId":"get_document","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"delete":{"tags":["documents"],"summary":"Delete Document","operationId":"delete_document","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.delete"]}},"/source-documents/{source_document_id}":{"get":{"tags":["documents"],"summary":"Get Document By Source Document Id","operationId":"get_document_by_source_document_id","parameters":[{"name":"source_document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Source Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/documents":{"get":{"tags":["documents"],"summary":"Get Documents","operationId":"get_documents","parameters":[{"name":"customer_id","in":"query","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id"}},{"name":"document_type_key","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DocumentTypeEnum"},{"type":"null"}],"title":"Document Type Key"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]},"post":{"tags":["documents"],"summary":"Create Document","description":"Control the full document-generation flow from type/template resolution to PDF/A upload and API response.","operationId":"create_document","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/customers/{customer_id}/documents":{"get":{"tags":["documents"],"summary":"Get All Documents","operationId":"get_all_documents","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id"}},{"name":"document_type_key","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DocumentTypeEnum"},{"type":"null"}],"title":"Document Type Key"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/customers/{customer_id}/documents/{document_id}/file":{"get":{"tags":["documents"],"summary":"Get Document File","operationId":"get_document_file","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"download","in":"query","required":false,"schema":{"type":"boolean","description":"If true, return Content-Disposition attachment instead of inline","default":false,"title":"Download"},"description":"If true, return Content-Disposition attachment instead of inline"}],"responses":{"200":{"description":"Document file download","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/customers/{customer_id}/documents/{document_id}/xml":{"get":{"tags":["documents"],"summary":"Get Document Xml","operationId":"get_document_xml","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Customer Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Document Id"}},{"name":"download","in":"query","required":false,"schema":{"type":"boolean","description":"If true, return Content-Disposition attachment instead of inline","default":false,"title":"Download"},"description":"If true, return Content-Disposition attachment instead of inline"}],"responses":{"200":{"description":"Document XML download","content":{"application/xml":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/documents/preview":{"post":{"tags":["documents"],"summary":"Preview Document","description":"Render one preview PDF without committing, numbering or status changes on the source document.","operationId":"preview_document","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentCreate"}}},"required":true},"responses":{"200":{"description":"Rendered preview PDF","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/invoice-document-jobs":{"post":{"tags":["invoice_document_run"],"summary":"Create Invoice Document Job","description":"Queue one worker job that generates invoice PDFs for all eligible invoices of one invoice run.","operationId":"create_invoice_document_job","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceDocumentRunCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceDocumentRunQueuedResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/invoice-document-runs":{"get":{"tags":["invoice_document_run"],"summary":"Get Invoice Document Runs","description":"Return the most recent invoice-document runs.","operationId":"get_invoice_document_runs","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/InvoiceDocumentRunStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"total_invoices","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Filter by total_invoices using exact match","title":"Total Invoices"},"description":"Filter by total_invoices using exact match"},{"name":"start_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by start_date greater than or equal","title":"Start Date From"},"description":"Filter by start_date greater than or equal"},{"name":"start_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by start_date less than or equal","title":"Start Date To"},"description":"Filter by start_date less than or equal"},{"name":"end_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by end_date greater than or equal","title":"End Date From"},"description":"Filter by end_date greater than or equal"},{"name":"end_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by end_date less than or equal","title":"End Date To"},"description":"Filter by end_date less than or equal"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceDocumentRunResponse"},"title":"Response Get Invoice Document Runs"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/datev-export-jobs":{"post":{"tags":["datev_export_run"],"summary":"Create Datev Export Job","description":"Queue one worker job that builds both DATEV ZIP archives for one month.","operationId":"create_datev_export_job","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatevExportRunCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatevExportRunQueuedResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.write"]}},"/datev-export-runs":{"get":{"tags":["datev_export_run"],"summary":"Get Datev Export Runs","description":"Return the most recent DATEV-export runs.","operationId":"get_datev_export_runs","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DatevExportRunStatus"},{"type":"null"}],"description":"Filter by status using exact match","title":"Status"},"description":"Filter by status using exact match"},{"name":"export_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2000},{"type":"null"}],"description":"Filter by export_year using exact match","title":"Export Year"},"description":"Filter by export_year using exact match"},{"name":"export_month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"description":"Filter by export_month using exact match","title":"Export Month"},"description":"Filter by export_month using exact match"},{"name":"total_documents","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Filter by total_documents using exact match","title":"Total Documents"},"description":"Filter by total_documents using exact match"},{"name":"start_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by start_date greater than or equal","title":"Start Date From"},"description":"Filter by start_date greater than or equal"},{"name":"start_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by start_date less than or equal","title":"Start Date To"},"description":"Filter by start_date less than or equal"},{"name":"end_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by end_date greater than or equal","title":"End Date From"},"description":"Filter by end_date greater than or equal"},{"name":"end_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter by end_date less than or equal","title":"End Date To"},"description":"Filter by end_date less than or equal"},{"name":"expired_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by expired_date greater than or equal","title":"Expired Date From"},"description":"Filter by expired_date greater than or equal"},{"name":"expired_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Filter by expired_date less than or equal","title":"Expired Date To"},"description":"Filter by expired_date less than or equal"},{"name":"not_expired","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter to finished exports whose expired_date has not passed yet","title":"Not Expired"},"description":"Filter to finished exports whose expired_date has not passed yet"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatevExportRunResponse"},"title":"Response Get Datev Export Runs"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/datev-export-jobs/{datev_export_run_id}":{"get":{"tags":["datev_export_run"],"summary":"Get Datev Export Job","description":"Return one DATEV export run for polling and history.","operationId":"get_datev_export_job","parameters":[{"name":"datev_export_run_id","in":"path","required":true,"schema":{"type":"string","title":"Datev Export Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatevExportRunResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/datev-export-jobs/{datev_export_run_id}/downloads/documents":{"get":{"tags":["datev_export_run"],"summary":"Download Datev Documents Archive","description":"Download the generated documents ZIP archive of one DATEV export run.","operationId":"download_datev_documents_archive","parameters":[{"name":"datev_export_run_id","in":"path","required":true,"schema":{"type":"string","title":"Datev Export Run Id"}}],"responses":{"200":{"description":"ZIP archive containing exported document files.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/datev-export-jobs/{datev_export_run_id}/downloads/data":{"get":{"tags":["datev_export_run"],"summary":"Download Datev Data Archive","description":"Download the generated data ZIP archive of one DATEV export run.","operationId":"download_datev_data_archive","parameters":[{"name":"datev_export_run_id","in":"path","required":true,"schema":{"type":"string","title":"Datev Export Run Id"}}],"responses":{"200":{"description":"ZIP archive containing DATEV data files.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["templates.read"]}},"/auth/me":{"get":{"tags":["auth"],"summary":"Get Auth Me","description":"Return the authenticated actor and effective authorization context.","operationId":"get_auth_me","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthMeResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}}},"patch":{"tags":["auth"],"summary":"Patch Auth Me","description":"Update and return the current human user's editable Keycloak profile.","operationId":"patch_auth_me","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthMePatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthMeResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}}}},"/auth/me/preferences":{"get":{"tags":["auth"],"summary":"Get My Preferences","description":"Return the personal preferences of the current human user, creating defaults on first access.","operationId":"get_auth_me_preferences","responses":{"200":{"description":"Preferences for the current user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorPreferencesResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"503":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}}},"patch":{"tags":["auth"],"summary":"Patch My Preferences","description":"Partially update the personal preferences of the current human user.","operationId":"patch_auth_me_preferences","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorPreferencesPatchRequest"}}},"required":true},"responses":{"200":{"description":"Preferences updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorPreferencesResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"503":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}}}},"/tenant-admin/licence":{"get":{"tags":["tenant-admin"],"summary":"Get Tenant Licence","description":"Return verified signed lease-derived tenant license information.","operationId":"get_tenant_licence","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseInfo"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["license.read"]}},"/tenant-admin/licence/refresh":{"post":{"tags":["tenant-admin"],"summary":"Refresh Tenant Licence","description":"Refresh the tenant license from WAS and return verified license information.","operationId":"refresh_tenant_licence","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseInfo"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["license.refresh"]}},"/tenant-admin/product-change-requests":{"post":{"tags":["tenant-admin"],"summary":"Create Tenant Product Change Request","description":"Submit a tenant product or seat change for asynchronous processing.","operationId":"create_tenant_product_change_request","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","format":"uuid","title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductChangeRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductChangeAcceptedResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer_product_changes.write"]}},"/tenant-admin/product-change-requests/{request_id}":{"get":{"tags":["tenant-admin"],"summary":"Get Tenant Product Change Request","description":"Return current process state and verified license data after success.","operationId":"get_tenant_product_change_request","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductChangeStatusResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer_product_changes.write"]}},"/support-tickets":{"post":{"tags":["support-tickets"],"summary":"Create Support Ticket","description":"Create one tenant-scoped support ticket through WAS.","operationId":"create_support_ticket","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportTicketRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportTicketResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["support_tickets.write"]}},"/tenant-admin/contract-terms":{"get":{"tags":["tenant-admin"],"summary":"Get Tenant Contract Terms","description":"Return contract dates for the authenticated WSE tenant.","operationId":"get_tenant_contract_terms","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerContractTermsResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer_contracts.read"]}},"/tenant-admin/termination-requests":{"post":{"tags":["tenant-admin"],"summary":"Create Tenant Termination Request","description":"Start termination of the authenticated WSE tenant.","operationId":"create_tenant_termination_request","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","format":"uuid","title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminationRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminationAcceptedResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer_termination.write"]}},"/tenant-admin/roles":{"get":{"tags":["tenant-admin"],"summary":"List Tenant Roles","description":"Return the tenant role catalog from WAS.","operationId":"list_tenant_roles","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TenantRoleResponse"},"type":"array","title":"Response List Tenant Roles"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["authz.read"]},"post":{"tags":["tenant-admin"],"summary":"Create Tenant Role","description":"Create one custom tenant role.","operationId":"create_tenant_role","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenantRoleRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantRoleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["authz.write"]}},"/tenant-admin/roles/{role_key}":{"delete":{"tags":["tenant-admin"],"summary":"Delete Tenant Role","description":"Delete one unassigned custom tenant role.","operationId":"delete_tenant_role","parameters":[{"name":"role_key","in":"path","required":true,"schema":{"type":"string","title":"Role Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["authz.write"]}},"/tenant-admin/users":{"get":{"tags":["tenant-admin"],"summary":"List Tenant Users","description":"Return one page of tenant users and pending invitations.","operationId":"list_tenant_users","parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUserPageResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["organization_members.read"]}},"/tenant-admin/users/invitations":{"post":{"tags":["tenant-admin"],"summary":"Invite Tenant User","description":"Invite one user to the current tenant.","operationId":"invite_tenant_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUserInvitationRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUserInvitationResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["organization_members.write"]}},"/tenant-admin/users/{user_id}":{"delete":{"tags":["tenant-admin"],"summary":"Delete Tenant User","description":"Remove one user from the current tenant.","operationId":"delete_tenant_user","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["organization_members.write"]}},"/tenant-admin/users/invitations/{invitation_id}":{"delete":{"tags":["tenant-admin"],"summary":"Revoke Tenant User Invitation","description":"Revoke one pending tenant invitation.","operationId":"revoke_tenant_user_invitation","parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","title":"Invitation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["organization_members.write"]}},"/tenant-admin/users/invitations/{invitation_id}/resend":{"post":{"tags":["tenant-admin"],"summary":"Resend Tenant User Invitation","description":"Resend one pending tenant invitation.","operationId":"resend_tenant_user_invitation","parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUserInvitationResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["organization_members.write"]}},"/tenant-admin/users/{user_id}/roles":{"get":{"tags":["tenant-admin"],"summary":"Get Tenant User Roles","description":"Return rich role assignments for one tenant user.","operationId":"get_tenant_user_roles","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUserRolesResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["organization_members.read"]},"patch":{"tags":["tenant-admin"],"summary":"Patch Tenant User Roles","description":"Atomically add and remove roles for one tenant user.","operationId":"patch_tenant_user_roles","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchTenantUserRolesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUserRoleKeysResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["organization_members.write"]},"put":{"tags":["tenant-admin"],"summary":"Replace Tenant User Roles","description":"Replace all managed roles on one tenant user.","operationId":"replace_tenant_user_roles","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceTenantUserRolesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUserRoleKeysResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["organization_members.write"]}},"/authz/permissions":{"get":{"tags":["authz"],"summary":"List Permissions","description":"Return all code-defined route permissions.","operationId":"list_authz_permissions","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AuthPermissionResponse"},"type":"array","title":"Response List Authz Permissions"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["authz.read"]}},"/authz/role-permissions":{"get":{"tags":["authz"],"summary":"List Role Permissions","description":"Return all local role-to-permission mappings.","operationId":"list_authz_role_permissions","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AuthRolePermissionResponse"},"type":"array","title":"Response List Authz Role Permissions"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["authz.read"]}},"/authz/roles/{role_key}/permissions/{permission_key}":{"put":{"tags":["authz"],"summary":"Assign Role Permission","description":"Assign one code-defined permission to one custom role.","operationId":"assign_authz_permission_to_role","parameters":[{"name":"role_key","in":"path","required":true,"schema":{"type":"string","title":"Role Key"}},{"name":"permission_key","in":"path","required":true,"schema":{"type":"string","title":"Permission Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthRolePermissionWriteResponse"}}}},"403":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["authz.write"]},"delete":{"tags":["authz"],"summary":"Delete Role Permission","description":"Remove one code-defined permission from one custom role.","operationId":"remove_authz_permission_from_role","parameters":[{"name":"role_key","in":"path","required":true,"schema":{"type":"string","title":"Role Key"}},{"name":"permission_key","in":"path","required":true,"schema":{"type":"string","title":"Permission Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthRolePermissionWriteResponse"}}}},"403":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"404":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["authz.write"]}},"/opos/invoices":{"get":{"tags":["opos"],"summary":"List Opos Invoices","description":"Return paginated OPOS invoices.","operationId":"list_opos_invoices","parameters":[{"name":"payment_status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OposPaymentStatus"},{"type":"null"}],"title":"Payment Status"}},{"name":"dunning_status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OposDunningStatus"},{"type":"null"}],"title":"Dunning Status"}},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"}},{"name":"invoice_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invoice No"}},{"name":"invoice_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Prefix"}},{"name":"company","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date From"}},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date To"}},{"name":"is_overdue","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Overdue"}},{"name":"is_reminder_due","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Reminder Due"}},{"name":"due_state","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OposInvoiceDueState"},{"type":"null"}],"title":"Due State"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["due_date","due_state","invoice_date","invoice_no","customer","payment_status","dunning_status","days_overdue"],"type":"string","default":"due_date","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Order"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposInvoiceListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/invoices/{invoice_id}":{"get":{"tags":["opos"],"summary":"Get Opos Invoice","description":"Return one OPOS invoice.","operationId":"get_opos_invoice","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposInvoiceListItem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/invoices/{invoice_id}/payment-reminders":{"get":{"tags":["opos"],"summary":"List Opos Invoice Payment Reminders","description":"Return OPOS payment reminder history for one invoice.","operationId":"list_opos_invoice_payment_reminders","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposPaymentReminderListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]},"post":{"tags":["opos"],"summary":"Post Opos Invoice Payment Reminder","description":"Create the next OPOS payment reminder for one overdue invoice.","operationId":"create_opos_invoice_payment_reminder","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposPaymentReminderCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposPaymentReminderItem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/dashboard":{"get":{"tags":["opos"],"summary":"Get Opos Dashboard","description":"Return OPOS dashboard KPIs.","operationId":"get_opos_dashboard","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposDashboardResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/sync":{"post":{"tags":["opos"],"summary":"Sync Opos Invoice States","description":"Backfill missing OPOS states for existing finalized invoices.","operationId":"sync_opos_invoice_states","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposInvoiceSyncResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/banking/settings":{"get":{"tags":["opos"],"summary":"Get Settings","operationId":"get_opos_banking_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankingSettingsResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]},"patch":{"tags":["opos"],"summary":"Patch Settings","operationId":"update_opos_banking_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankingSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankingSettingsResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/banking/accounts/{organization_account_id}/authorizations":{"post":{"tags":["opos"],"summary":"Post Bank Connection Authorization","operationId":"create_opos_bank_connection_authorization","parameters":[{"name":"organization_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Organization Account Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","format":"uuid","title":"Idempotency-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankAuthorizationResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/banking/connections":{"get":{"tags":["opos"],"summary":"Get Connections","operationId":"list_opos_bank_connections","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankConnectionListResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/banking/connections/{connection_id}/authorizations":{"post":{"tags":["opos"],"summary":"Post Bank Connection Reauthorization","operationId":"reauthorize_opos_bank_connection","parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankAuthorizationResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/banking/connections/{connection_id}/disconnect":{"post":{"tags":["opos"],"summary":"Post Disconnect","operationId":"disconnect_opos_bank_connection","parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankConnectionResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/banking/accounts":{"get":{"tags":["opos"],"summary":"Get Accounts","operationId":"list_opos_bank_accounts","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankAccountListResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/banking/accounts/{account_id}":{"patch":{"tags":["opos"],"summary":"Patch Account","operationId":"update_opos_bank_account","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankAccountUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankAccountResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/banking/sync-runs":{"post":{"tags":["opos"],"summary":"Post Sync Run","operationId":"create_opos_bank_sync_run","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankSyncRunResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/banking/sync-runs/{sync_run_id}":{"get":{"tags":["opos"],"summary":"Get One Sync Run","operationId":"get_opos_bank_sync_run","parameters":[{"name":"sync_run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Sync Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankSyncRunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/banking/transactions":{"get":{"tags":["opos"],"summary":"Get Transactions","operationId":"list_opos_bank_transactions","parameters":[{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Account Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OposBankTransactionStatus"},{"type":"null"}],"title":"Status"}},{"name":"allocation_status","in":"query","required":false,"schema":{"anyOf":[{"enum":["allocated","unallocated"],"type":"string"},{"type":"null"}],"title":"Allocation Status"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankTransactionListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/banking/transactions/{transaction_id}":{"get":{"tags":["opos"],"summary":"Get One Transaction","operationId":"get_opos_bank_transaction","parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Transaction Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankTransactionDetailResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/banking/accounts/{organization_account_id}/disconnect":{"post":{"tags":["opos"],"summary":"Disconnect Account","operationId":"disconnect_opos_bank_account","parameters":[{"name":"organization_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Organization Account Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/banking/transactions/{transaction_id}/allocations":{"post":{"tags":["opos"],"summary":"Post Bank Transaction Allocations","operationId":"create_opos_bank_transaction_allocations","parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Transaction Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","format":"uuid","title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankAllocationsCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposSettlementResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/allocations/{allocation_id}/reverse":{"post":{"tags":["opos"],"summary":"Post Allocation Reversal","operationId":"reverse_opos_invoice_allocation","parameters":[{"name":"allocation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Allocation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposAllocationReverse"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposInvoiceAllocationResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/invoices/{invoice_id}/settlements":{"post":{"tags":["opos"],"summary":"Post Manual Invoice Settlement","operationId":"create_opos_manual_invoice_settlement","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposManualSettlementCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposSettlementResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]},"get":{"tags":["opos"],"summary":"Get Invoice Settlements","operationId":"list_opos_invoice_settlements","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposSettlementListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/cashbook-settlements":{"post":{"tags":["opos"],"summary":"Post Cashbook Settlement","operationId":"create_opos_cashbook_settlement","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposCashbookSettlementCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposSettlementResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.write","opos.write"]}},"/opos/cashbook-settlements/{settlement_source_id}/allocations":{"post":{"tags":["opos"],"summary":"Post Existing Cashbook Allocations","operationId":"create_opos_existing_cashbook_allocations","parameters":[{"name":"settlement_source_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Settlement Source Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposBankAllocationsCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposSettlementResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.write","opos.write"]}},"/opos/direct-debit-runs":{"get":{"tags":["opos"],"summary":"Get Direct Debit Runs","operationId":"list_opos_direct_debit_runs","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposDirectDebitRunListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]},"post":{"tags":["opos"],"summary":"Post Direct Debit Run","operationId":"create_opos_direct_debit_run","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","format":"uuid","title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposDirectDebitRunCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposDirectDebitRunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/direct-debit-runs/{run_id}":{"get":{"tags":["opos"],"summary":"Get One Direct Debit Run","operationId":"get_opos_direct_debit_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposDirectDebitRunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read"]}},"/opos/direct-debit-runs/{run_id}/groups/{group_id}/authorization":{"post":{"tags":["opos"],"summary":"Post Direct Debit Group Authorization","operationId":"authorize_opos_direct_debit_group","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Run Id"}},{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Group Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","format":"uuid","title":"Idempotency-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposDirectDebitAuthorizationResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/opos/direct-debit-runs/{run_id}/cancel":{"post":{"tags":["opos"],"summary":"Post Direct Debit Run Cancellation","operationId":"cancel_opos_direct_debit_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OposDirectDebitRunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.write"]}},"/product-bundles":{"get":{"tags":["product bundles"],"summary":"List Product Bundles Endpoint","description":"Return paginated product bundles.","operationId":"list_product_bundles","parameters":[{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},{"name":"available_on","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available On"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.read"]},"post":{"tags":["product bundles"],"summary":"Create Product Bundle Endpoint","description":"Create one product bundle.","operationId":"create_product_bundle","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.write"]}},"/product-bundles/{product_bundle_id}":{"get":{"tags":["product bundles"],"summary":"Get Product Bundle Endpoint","description":"Return one product bundle.","operationId":"get_product_bundle","parameters":[{"name":"product_bundle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.read"]},"patch":{"tags":["product bundles"],"summary":"Update Product Bundle Endpoint","description":"Update one product bundle.","operationId":"update_product_bundle","parameters":[{"name":"product_bundle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.write"]},"delete":{"tags":["product bundles"],"summary":"Delete Product Bundle Endpoint","description":"Delete one product bundle.","operationId":"delete_product_bundle","parameters":[{"name":"product_bundle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.delete"]}},"/product-bundles/{product_bundle_id}/groups":{"post":{"tags":["product bundles"],"summary":"Create Product Bundle Group Endpoint","description":"Create one product bundle group.","operationId":"create_product_bundle_group","parameters":[{"name":"product_bundle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleGroupCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.write"]}},"/product-bundle-groups/{product_bundle_group_id}":{"patch":{"tags":["product bundles"],"summary":"Update Product Bundle Group Endpoint","description":"Update one product bundle group.","operationId":"update_product_bundle_group","parameters":[{"name":"product_bundle_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleGroupUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.write"]},"delete":{"tags":["product bundles"],"summary":"Delete Product Bundle Group Endpoint","description":"Delete one product bundle group.","operationId":"delete_product_bundle_group","parameters":[{"name":"product_bundle_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Group Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.delete"]}},"/product-bundle-groups/{product_bundle_group_id}/products":{"post":{"tags":["product bundles"],"summary":"Create Product Bundle Group Product Endpoint","description":"Add one product option to a product bundle group.","operationId":"create_product_bundle_group_product","parameters":[{"name":"product_bundle_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleGroupProductCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.write"]}},"/product-bundle-group-products/{product_bundle_group_product_id}":{"patch":{"tags":["product bundles"],"summary":"Update Product Bundle Group Product Endpoint","description":"Update one product option in a product bundle group.","operationId":"update_product_bundle_group_product","parameters":[{"name":"product_bundle_group_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Group Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleGroupProductUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.write"]},"delete":{"tags":["product bundles"],"summary":"Delete Product Bundle Group Product Endpoint","description":"Delete one product option from a product bundle group.","operationId":"delete_product_bundle_group_product","parameters":[{"name":"product_bundle_group_product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Group Product Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.delete"]}},"/product-bundle-groups/{product_bundle_group_id}/default-selection":{"put":{"tags":["product bundles"],"summary":"Update Product Bundle Group Default Selection Endpoint","description":"Replace the complete default selection of one product bundle group.","operationId":"update_product_bundle_group_default_selection","parameters":[{"name":"product_bundle_group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleGroupDefaultSelectionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.write"]}},"/product-bundles/{product_bundle_id}/validate-selection":{"post":{"tags":["product bundles"],"summary":"Validate Product Bundle Selection Endpoint","description":"Validate one product bundle selection.","operationId":"validate_product_bundle_selection","parameters":[{"name":"product_bundle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Product Bundle Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleSelectionValidationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBundleSelectionValidationResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["product_bundle.read"]}},"/reporting/v1/catalog":{"get":{"tags":["reporting"],"summary":"Catalog","operationId":"get_reporting_catalog","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]}},"/reporting/v1/query":{"post":{"tags":["reporting"],"summary":"Query","operationId":"execute_reporting_query","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]}},"/reporting/v1/queries":{"get":{"tags":["reporting"],"summary":"List Queries","operationId":"list_reporting_queries","parameters":[{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedQueryList"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]},"post":{"tags":["reporting"],"summary":"Create Query","operationId":"create_reporting_query","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedQueryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedQueryResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.queries.write","reporting.read"]}},"/reporting/v1/queries/{query_id}":{"get":{"tags":["reporting"],"summary":"Get Query","operationId":"get_reporting_query","parameters":[{"name":"query_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Query Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedQueryResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]},"put":{"tags":["reporting"],"summary":"Update Query","operationId":"update_reporting_query","parameters":[{"name":"query_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Query Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedQueryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedQueryResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]},"delete":{"tags":["reporting"],"summary":"Delete Query","operationId":"delete_reporting_query","parameters":[{"name":"query_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Query Id"}},{"name":"revision","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Revision"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]}},"/reporting/v1/queries/{query_id}/execute":{"post":{"tags":["reporting"],"summary":"Execute Saved Query","operationId":"execute_saved_reporting_query","parameters":[{"name":"query_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Query Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedReportExecution"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]}},"/reporting/v1/execution-context":{"get":{"tags":["reporting"],"summary":"Execution Context","operationId":"get_reporting_execution_context","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingExecutionContext"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]}},"/reporting/v1/dashboards":{"get":{"tags":["reporting"],"summary":"List Dashboards","operationId":"list_reporting_dashboards","parameters":[{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardList"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]},"post":{"tags":["reporting"],"summary":"Create Dashboard","operationId":"create_reporting_dashboard","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.dashboards.write","reporting.read"]}},"/reporting/v1/dashboards/{dashboard_id}":{"get":{"tags":["reporting"],"summary":"Get Dashboard","operationId":"get_reporting_dashboard","parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]},"put":{"tags":["reporting"],"summary":"Update Dashboard","operationId":"update_reporting_dashboard","parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]},"delete":{"tags":["reporting"],"summary":"Delete Dashboard","operationId":"delete_reporting_dashboard","parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"revision","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Revision"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]}},"/reporting/v1/odata/":{"get":{"tags":["reporting"],"summary":"Reporting Odata Service Document","operationId":"get_reporting_odata_service_document","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]}},"/reporting/v1/odata/$metadata":{"get":{"tags":["reporting"],"summary":"Metadata","operationId":"get_reporting_odata_metadata","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read"]}},"/reporting/v1/odata/Customers":{"get":{"tags":["reporting"],"summary":"Reporting Odata Customers List","operationId":"list_reporting_odata_Customers","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read","reporting.read"]}},"/reporting/v1/odata/Customers/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Customers Count","operationId":"count_reporting_odata_Customers","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read","reporting.read"]}},"/reporting/v1/odata/Customers({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Customers Get","operationId":"get_reporting_odata_Customers","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["customer.read","reporting.read"]}},"/reporting/v1/odata/Products":{"get":{"tags":["reporting"],"summary":"Reporting Odata Products List","operationId":"list_reporting_odata_Products","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read","reporting.read"]}},"/reporting/v1/odata/Products/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Products Count","operationId":"count_reporting_odata_Products","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read","reporting.read"]}},"/reporting/v1/odata/Products({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Products Get","operationId":"get_reporting_odata_Products","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read","reporting.read"]}},"/reporting/v1/odata/ProductGroups":{"get":{"tags":["reporting"],"summary":"Reporting Odata Productgroups List","operationId":"list_reporting_odata_ProductGroups","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read","reporting.read"]}},"/reporting/v1/odata/ProductGroups/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Productgroups Count","operationId":"count_reporting_odata_ProductGroups","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read","reporting.read"]}},"/reporting/v1/odata/ProductGroups({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Productgroups Get","operationId":"get_reporting_odata_ProductGroups","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["products.read","reporting.read"]}},"/reporting/v1/odata/Services":{"get":{"tags":["reporting"],"summary":"Reporting Odata Services List","operationId":"list_reporting_odata_Services","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/Services/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Services Count","operationId":"count_reporting_odata_Services","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/Services({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Services Get","operationId":"get_reporting_odata_Services","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/ServiceLifecycle":{"get":{"tags":["reporting"],"summary":"Reporting Odata Servicelifecycle List","operationId":"list_reporting_odata_ServiceLifecycle","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/ServiceLifecycle/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Servicelifecycle Count","operationId":"count_reporting_odata_ServiceLifecycle","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/ServiceLifecycle({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Servicelifecycle Get","operationId":"get_reporting_odata_ServiceLifecycle","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/ServiceProducts":{"get":{"tags":["reporting"],"summary":"Reporting Odata Serviceproducts List","operationId":"list_reporting_odata_ServiceProducts","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/ServiceProducts/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Serviceproducts Count","operationId":"count_reporting_odata_ServiceProducts","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/ServiceProducts({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Serviceproducts Get","operationId":"get_reporting_odata_ServiceProducts","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["reporting.read","service.read"]}},"/reporting/v1/odata/BillingDocuments":{"get":{"tags":["reporting"],"summary":"Reporting Odata Billingdocuments List","operationId":"list_reporting_odata_BillingDocuments","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read","reporting.read"]}},"/reporting/v1/odata/BillingDocuments/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Billingdocuments Count","operationId":"count_reporting_odata_BillingDocuments","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read","reporting.read"]}},"/reporting/v1/odata/BillingDocuments({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Billingdocuments Get","operationId":"get_reporting_odata_BillingDocuments","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read","reporting.read"]}},"/reporting/v1/odata/BillingLines":{"get":{"tags":["reporting"],"summary":"Reporting Odata Billinglines List","operationId":"list_reporting_odata_BillingLines","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read","reporting.read"]}},"/reporting/v1/odata/BillingLines/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Billinglines Count","operationId":"count_reporting_odata_BillingLines","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read","reporting.read"]}},"/reporting/v1/odata/BillingLines({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Billinglines Get","operationId":"get_reporting_odata_BillingLines","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["invoice.read","reporting.read"]}},"/reporting/v1/odata/OpenItems":{"get":{"tags":["reporting"],"summary":"Reporting Odata Openitems List","operationId":"list_reporting_odata_OpenItems","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/OpenItems/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Openitems Count","operationId":"count_reporting_odata_OpenItems","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/OpenItems({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Openitems Get","operationId":"get_reporting_odata_OpenItems","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/Settlements":{"get":{"tags":["reporting"],"summary":"Reporting Odata Settlements List","operationId":"list_reporting_odata_Settlements","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/Settlements/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Settlements Count","operationId":"count_reporting_odata_Settlements","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/Settlements({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Settlements Get","operationId":"get_reporting_odata_Settlements","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/SettlementAllocations":{"get":{"tags":["reporting"],"summary":"Reporting Odata Settlementallocations List","operationId":"list_reporting_odata_SettlementAllocations","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/SettlementAllocations/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Settlementallocations Count","operationId":"count_reporting_odata_SettlementAllocations","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/SettlementAllocations({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Settlementallocations Get","operationId":"get_reporting_odata_SettlementAllocations","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["opos.read","reporting.read"]}},"/reporting/v1/odata/Cashbooks":{"get":{"tags":["reporting"],"summary":"Reporting Odata Cashbooks List","operationId":"list_reporting_odata_Cashbooks","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read","reporting.read"]}},"/reporting/v1/odata/Cashbooks/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Cashbooks Count","operationId":"count_reporting_odata_Cashbooks","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read","reporting.read"]}},"/reporting/v1/odata/Cashbooks({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Cashbooks Get","operationId":"get_reporting_odata_Cashbooks","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read","reporting.read"]}},"/reporting/v1/odata/CashbookEntries":{"get":{"tags":["reporting"],"summary":"Reporting Odata Cashbookentries List","operationId":"list_reporting_odata_CashbookEntries","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read","reporting.read"]}},"/reporting/v1/odata/CashbookEntries/$count":{"get":{"tags":["reporting"],"summary":"Reporting Odata Cashbookentries Count","operationId":"count_reporting_odata_CashbookEntries","responses":{"200":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read","reporting.read"]}},"/reporting/v1/odata/CashbookEntries({key})":{"get":{"tags":["reporting"],"summary":"Reporting Odata Cashbookentries Get","operationId":"get_reporting_odata_CashbookEntries","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read","reporting.read"]}},"/cashbooks":{"get":{"tags":["cashbook"],"summary":"List Cashbooks Endpoint","description":"Return paginated cashbooks.","operationId":"list_cashbooks","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read"]},"post":{"tags":["cashbook"],"summary":"Create Cashbook Endpoint","description":"Create one cashbook.","operationId":"create_cashbook","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.write"]}},"/cashbooks/{cashbook_id}":{"get":{"tags":["cashbook"],"summary":"Get Cashbook Endpoint","description":"Return one cashbook.","operationId":"get_cashbook","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read"]},"patch":{"tags":["cashbook"],"summary":"Update Cashbook Endpoint","description":"Update one cashbook.","operationId":"update_cashbook","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.write"]}},"/cashbooks/{cashbook_id}/entries":{"get":{"tags":["cashbook"],"summary":"List Cashbook Entries Endpoint","description":"Return paginated cashbook entries.","operationId":"list_cashbook_entries","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CashbookEntryDirection"},{"type":"null"}],"title":"Direction"}},{"name":"source_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CashbookEntrySourceType"},{"type":"null"}],"title":"Source Type"}},{"name":"is_locked","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Locked"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["transaction_date","entry_no","amount","created_at"],"type":"string","default":"transaction_date","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"asc","title":"Sort Order"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookEntryListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read"]},"post":{"tags":["cashbook"],"summary":"Create Cashbook Entry Endpoint","description":"Create one cashbook entry.","operationId":"create_cashbook_entry","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookEntryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookEntryResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.write"]}},"/cashbooks/{cashbook_id}/entries/{entry_id}":{"patch":{"tags":["cashbook"],"summary":"Update Cashbook Entry Endpoint","description":"Update one cashbook entry.","operationId":"update_cashbook_entry","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookEntryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookEntryResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.write"]},"delete":{"tags":["cashbook"],"summary":"Delete Cashbook Entry Endpoint","description":"Delete one cashbook entry.","operationId":"delete_cashbook_entry","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Entry Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.write"]}},"/cashbooks/{cashbook_id}/imports/csv":{"post":{"tags":["cashbook"],"summary":"Import Cashbook Csv Endpoint","description":"Import cashbook entries from CSV.","operationId":"import_cashbook_csv","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ImportCashbookCsvEndpointForm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookImportSuccess"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.import"]}},"/cashbooks/{cashbook_id}/imports/dsfinvk":{"post":{"tags":["cashbook"],"summary":"Import Cashbook Dsfinvk Endpoint","description":"Import cashbook entries from a DSFinV-K archive.","operationId":"import_cashbook_dsfinvk","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ImportCashbookDsfinvkEndpointForm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookImportSuccess"}}}},"413":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.import"]}},"/cashbooks/{cashbook_id}/imports":{"get":{"tags":["cashbook"],"summary":"List Cashbook Imports Endpoint","description":"Return recent cashbook import runs.","operationId":"list_cashbook_import_runs","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookImportRunListResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.read"]}},"/cashbooks/{cashbook_id}/datev-export-jobs":{"post":{"tags":["cashbook"],"summary":"Create Cashbook Datev Export Job Endpoint","description":"Queue a cashbook DATEV export job.","operationId":"create_cashbook_datev_export_job","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookExportRunCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookExportRunQueuedResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.export"]}},"/cashbooks/{cashbook_id}/datev-export-runs":{"get":{"tags":["cashbook"],"summary":"List Cashbook Datev Export Runs Endpoint","description":"Return recent cashbook DATEV export runs.","operationId":"list_cashbook_datev_export_runs","parameters":[{"name":"cashbook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookExportRunListResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.export"]}},"/cashbook-datev-export-jobs/{cashbook_export_run_id}":{"get":{"tags":["cashbook"],"summary":"Get Cashbook Datev Export Job Endpoint","description":"Return one cashbook DATEV export run.","operationId":"get_cashbook_datev_export_job","parameters":[{"name":"cashbook_export_run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Export Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CashbookExportRunResponse"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.export"]}},"/cashbook-datev-export-jobs/{cashbook_export_run_id}/downloads/kassenbuch-ascii":{"get":{"tags":["cashbook"],"summary":"Download Cashbook Datev Ascii Archive Endpoint","description":"Download the generated cashbook ASCII archive.","operationId":"download_cashbook_datev_ascii_archive","parameters":[{"name":"cashbook_export_run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Export Run Id"}}],"responses":{"200":{"description":"ZIP archive containing the DATEV cashbook ASCII export.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.export"]}},"/cashbook-datev-export-jobs/{cashbook_export_run_id}/downloads/extf":{"get":{"tags":["cashbook"],"summary":"Download Cashbook Datev Extf Archive Endpoint","description":"Download the generated cashbook EXTF archive.","operationId":"download_cashbook_datev_extf_archive","parameters":[{"name":"cashbook_export_run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Cashbook Export Run Id"}}],"responses":{"200":{"description":"ZIP archive containing the DATEV EXTF booking batch export.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["cashbook.export"]}},"/datev/connection":{"get":{"tags":["datev"],"summary":"Get Connection","operationId":"datev_get_connection","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.read"]},"post":{"tags":["datev"],"summary":"Connect","operationId":"datev_connect","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizationResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.configure"]},"delete":{"tags":["datev"],"summary":"Disconnect","operationId":"datev_disconnect","responses":{"204":{"description":"Successful Response"},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.configure"]}},"/datev/document-types":{"get":{"tags":["datev"],"summary":"Document Types","operationId":"datev_document_types","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentTypesResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.read"]}},"/datev/configuration":{"get":{"tags":["datev"],"summary":"Get Configuration","operationId":"datev_get_configuration","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfiguration-Output"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.read"]},"put":{"tags":["datev"],"summary":"Set Configuration","operationId":"datev_set_configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfiguration-Input"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfiguration-Output"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.configure"]}},"/datev/counterparties/{customer_id}":{"put":{"tags":["datev"],"summary":"Set Counterparty","operationId":"datev_set_counterparty","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CounterpartySettings"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CounterpartySettings"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.configure"]},"get":{"tags":["datev"],"summary":"Get Counterparty","operationId":"datev_get_counterparty","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Customer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CounterpartySettings"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.read"]}},"/datev/previews":{"post":{"tags":["datev"],"summary":"Preview","operationId":"datev_create_preview","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.transfer"]}},"/datev/runs/{run_id}/approve":{"post":{"tags":["datev"],"summary":"Approve","operationId":"datev_approve_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.transfer"]}},"/datev/runs":{"get":{"tags":["datev"],"summary":"Runs","operationId":"datev_list_runs","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RunResponse"},"type":"array","title":"Response Datev List Runs"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.read"]}},"/datev/runs/{run_id}":{"get":{"tags":["datev"],"summary":"Run","operationId":"datev_get_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.read"]}},"/datev/runs/{run_id}/artifacts/{artifact_id}":{"get":{"tags":["datev"],"summary":"Download","operationId":"datev_download_artifact","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}}],"responses":{"200":{"description":"Immutable DATEV artifact","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}},"text/csv":{"schema":{"type":"string","format":"binary"}}},"headers":{"Content-Disposition":{"schema":{"type":"string"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.read"]}},"/datev/runs/{run_id}/artifacts/{artifact_id}/resend":{"post":{"tags":["datev"],"summary":"Resend","operationId":"datev_resend_artifact","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.resend"]}},"/datev/runs/{run_id}/artifacts/{artifact_id}/reconcile":{"post":{"tags":["datev"],"summary":"Reconcile","operationId":"datev_reconcile_artifact","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.transfer"]}},"/datev/runs/{run_id}/resume":{"post":{"tags":["datev"],"summary":"Resume","operationId":"datev_resume_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResponse"}}}},"422":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"x-required-permissions":["datev.transfer"]}},"/health/live":{"get":{"tags":["health"],"summary":"Liveness Check","description":"Return the liveness state.","operationId":"get_health_live","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"security":[]}},"/health/ready":{"get":{"tags":["health"],"summary":"Readiness Check","description":"Return readiness including database reachability and license lock state.","operationId":"get_health_ready","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthReadyResponse"}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"security":[]}},"/health/deployment":{"get":{"tags":["health"],"summary":"Deployment Health Check","description":"Share one bounded probe per process; retain at most one outstanding task.","operationId":"get_health_deployment","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentHealthResponse"}}}},"503":{"description":"Deployment dependencies are not ready.","content":{"application/problem+json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiProblem"},{"type":"object","required":["deployment"],"properties":{"deployment":{"$ref":"#/components/schemas/DeploymentHealthResponse"}}}]}}}},"default":{"description":"RFC 9457 problem details response.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiProblem"}}}}},"security":[]}}},"components":{"schemas":{"Account":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the Account","examples":["Erlöse 19%"]},"account_no":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Account No","description":"Number of the account for financial accounting","examples":["4400"]},"account_id":{"type":"string","format":"uuid4","title":"Account Id","description":"Account ID","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["account_id","last_change"],"title":"Account"},"AccountCreate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the Account","examples":["Erlöse 19%"]},"account_no":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Account No","description":"Number of the account for financial accounting","examples":["4400"]}},"additionalProperties":false,"type":"object","title":"AccountCreate"},"AccountListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/Account"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"AccountListResponse"},"AccountUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the Account","examples":["Erlöse 19%"]},"account_no":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Account No","description":"Number of the account for financial accounting","examples":["4400"]}},"additionalProperties":false,"type":"object","title":"AccountUpdate"},"ActorPreferencesPatchRequest":{"properties":{"show_ids":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Ids","description":"Show technical IDs in the UI"},"show_last_change":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Last Change","description":"Show last-change information in the UI"},"show_new_features":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show New Features","description":"Show new feature highlights in the UI"},"ui_language":{"anyOf":[{"$ref":"#/components/schemas/UiLanguage"},{"type":"null"}],"description":"UI language of the actor"},"dark_mode":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dark Mode","description":"Whether the UI uses dark mode"}},"additionalProperties":false,"type":"object","title":"ActorPreferencesPatchRequest","description":"Partial update payload for the personal preferences of the current human user."},"ActorPreferencesResponse":{"properties":{"show_ids":{"type":"boolean","title":"Show Ids","description":"Show technical IDs in the UI"},"show_last_change":{"type":"boolean","title":"Show Last Change","description":"Show last-change information in the UI"},"show_new_features":{"type":"boolean","title":"Show New Features","description":"Show new feature highlights in the UI"},"ui_language":{"$ref":"#/components/schemas/UiLanguage","description":"UI language of the actor"},"dark_mode":{"type":"boolean","title":"Dark Mode","description":"Whether the UI uses dark mode"}},"type":"object","required":["show_ids","show_last_change","show_new_features","ui_language","dark_mode"],"title":"ActorPreferencesResponse","description":"Response schema for the personal preferences of one authenticated human user."},"AddressCreate":{"properties":{"street":{"type":"string","maxLength":200,"title":"Street","description":"Street of the address","examples":["Musterstraße"]},"house_number":{"type":"string","maxLength":200,"title":"House Number","description":"House number of the address","examples":["15"]},"house_number_addition":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"House Number Addition","description":"House number addition of the address","examples":["A"]},"city":{"type":"string","maxLength":200,"title":"City","description":"City of the address","examples":["Musterstadt"]},"postcode":{"type":"string","maxLength":32,"title":"Postcode","description":"Postcode of the address","examples":["24768"]},"district":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"District","description":"District of the address","examples":["Ortsteil"]},"address_type_id":{"type":"string","format":"uuid4","title":"Address Type Id","description":"Address type of the customer","examples":["384d8fa9-a139-4aee-9db7-4d1801e53fa7"]},"service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id","description":"Service ID linked to the address, if applicable","examples":["123e4567-e89b-12d3-a456-426614174000"]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Date from when the address is valid","examples":["2026-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Date until when the address is valid","examples":["2026-12-31"]},"contact_data":{"anyOf":[{"items":{"$ref":"#/components/schemas/ContactDataCreate"},"type":"array"},{"type":"null"}],"title":"Contact Data","description":"List of contact data linked to the address"}},"additionalProperties":false,"type":"object","required":["street","house_number","city","postcode","address_type_id"],"title":"AddressCreate"},"AddressListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of addresses in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/AddressResponse"},"type":"array","title":"Items","description":"List of addresses retrieved"}},"type":"object","required":["total_count","items"],"title":"AddressListResponse"},"AddressResponse":{"properties":{"street":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Street","description":"Street of the customer","examples":["Musterstraße"]},"house_number":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"House Number","description":"House number of the customer","examples":["15"]},"house_number_addition":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"House Number Addition","description":"House number addition of the customer","examples":["A"]},"city":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"City","description":"City of the customer","examples":["Musterstadt"]},"postcode":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Postcode","description":"Postcode of the customer","examples":["24768"]},"district":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"District","description":"District of the customer","examples":["Musterbezirk"]},"address_type_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Address Type Id","description":"Address type of the customer","examples":["384d8fa9-a139-4aee-9db7-4d1801e53fa7"]},"service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id","description":"Service ID linked to the address, if applicable","examples":["123e4567-e89b-12d3-a456-426614174000"]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Date from when the address is valid","examples":["2026-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Date until when the address is valid","examples":["2026-12-31"]},"address_id":{"type":"string","format":"uuid4","title":"Address Id","description":"Address ID of the address","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID linked to the address","examples":["123e4567-e89b-12d3-a456-426614174001"]},"address_type":{"$ref":"#/components/schemas/AddressType"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"contact_data":{"items":{"$ref":"#/components/schemas/ContactDataResponse"},"type":"array","title":"Contact Data","description":"Optional list of contact data linked to this address"}},"type":"object","required":["address_id","customer_id","address_type","last_change"],"title":"AddressResponse"},"AddressType":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the address type","examples":["Rechnungsadresse"]},"is_billing":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Billing","description":"Marks the address type to use for billing, should be unique for a customer","examples":[true]},"is_allowed_for_customer":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Allowed For Customer","description":"Defines whether the address type can be used for customer addresses","default":true,"examples":[true]},"is_allowed_for_service":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Allowed For Service","description":"Defines whether the address type can be used for service addresses","default":true,"examples":[true]},"address_type_id":{"type":"string","format":"uuid4","title":"Address Type Id","description":"Address type ID of the address type","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["address_type_id","last_change"],"title":"AddressType"},"AddressTypeCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the address type","examples":["Rechnungsadresse"]},"is_billing":{"type":"boolean","title":"Is Billing","description":"Marks the address type to use for billing, should be unique for a customer","examples":[true]},"is_allowed_for_customer":{"type":"boolean","title":"Is Allowed For Customer","description":"Defines whether the address type can be used for customer addresses","default":true,"examples":[true]},"is_allowed_for_service":{"type":"boolean","title":"Is Allowed For Service","description":"Defines whether the address type can be used for service addresses","default":true,"examples":[true]}},"additionalProperties":false,"type":"object","required":["description","is_billing"],"title":"AddressTypeCreate"},"AddressTypeListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of address types in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/AddressType"},"type":"array","title":"Items","description":"List of address types retrieved"}},"type":"object","required":["total_count","items"],"title":"AddressTypeListResponse"},"AddressTypeUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the address type","examples":["Rechnungsadresse"]},"is_billing":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Billing","description":"Marks the address type to use for billing, should be unique for a customer","examples":[true]},"is_allowed_for_customer":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Allowed For Customer","description":"Defines whether the address type can be used for customer addresses","default":true,"examples":[true]},"is_allowed_for_service":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Allowed For Service","description":"Defines whether the address type can be used for service addresses","default":true,"examples":[true]}},"additionalProperties":false,"type":"object","title":"AddressTypeUpdate"},"AddressUpdate":{"properties":{"street":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Street","description":"Street of the customer","examples":["Musterstraße"]},"house_number":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"House Number","description":"House number of the customer","examples":["15"]},"house_number_addition":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"House Number Addition","description":"House number addition of the customer","examples":["A"]},"city":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"City","description":"City of the customer","examples":["Musterstadt"]},"postcode":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Postcode","description":"Postcode of the customer","examples":["24768"]},"district":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"District","description":"District of the customer","examples":["Musterbezirk"]},"address_type_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Address Type Id","description":"Address type of the customer","examples":["384d8fa9-a139-4aee-9db7-4d1801e53fa7"]},"service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id","description":"Service ID linked to the address, if applicable","examples":["123e4567-e89b-12d3-a456-426614174000"]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Date from when the address is valid","examples":["2026-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Date until when the address is valid","examples":["2026-12-31"]}},"additionalProperties":false,"type":"object","title":"AddressUpdate"},"Aggregate":{"properties":{"method":{"type":"string","enum":["sum","count","count_distinct","avg","min","max"],"title":"Method"},"field":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},{"type":"null"}],"title":"Field"},"alias":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$","title":"Alias"}},"additionalProperties":false,"type":"object","required":["method","alias"],"title":"Aggregate"},"ArtifactResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"filename":{"type":"string","title":"Filename"},"kind":{"type":"string","title":"Kind"},"state":{"type":"string","title":"State"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"operation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Operation Id"},"error":{"anyOf":[{"$ref":"#/components/schemas/DatevProviderError"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["id","filename","kind","state","error_code","operation_id"],"title":"ArtifactResponse"},"AssetListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of assets"},"items":{"items":{"$ref":"#/components/schemas/AssetResponse"},"type":"array","title":"Items","description":"List of assets"}},"type":"object","required":["total_count","items"],"title":"AssetListResponse"},"AssetResponse":{"properties":{"asset_id":{"type":"string","format":"uuid4","title":"Asset Id"},"asset_key":{"type":"string","title":"Asset Key"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"active_storage_object":{"anyOf":[{"$ref":"#/components/schemas/StorageObject"},{"type":"null"}],"description":"Currently active storage object of the asset"},"preview_available":{"type":"boolean","title":"Preview Available","description":"If true, this asset has an active image file that can be loaded through the preview endpoint","default":false}},"type":"object","required":["asset_id","asset_key","is_active","last_change"],"title":"AssetResponse"},"AssignedProduct":{"properties":{"product_id":{"type":"string","format":"uuid","title":"Product Id"},"count":{"type":"integer","maximum":1000000.0,"minimum":1.0,"title":"Count"},"service_product_id":{"type":"string","maxLength":255,"minLength":1,"title":"Service Product Id"},"features":{"additionalProperties":{"type":"string"},"type":"object","title":"Features"},"outcome":{"type":"string","enum":["created","unchanged"],"title":"Outcome"}},"additionalProperties":false,"type":"object","required":["product_id","count","service_product_id","features","outcome"],"title":"AssignedProduct"},"AuthMePatchRequest":{"properties":{"first_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Last Name"},"phone":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Phone"},"mobile":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Mobile"}},"additionalProperties":false,"type":"object","title":"AuthMePatchRequest","description":"Partial update for the current human user's editable profile."},"AuthMeResponse":{"properties":{"actor_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Actor Id","description":"Internal actor UUID; null when the local actor registry is unavailable."},"sub":{"type":"string","title":"Sub"},"user":{"type":"string","title":"User"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"mobile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile"},"actor_type":{"type":"string","title":"Actor Type"},"roles":{"items":{"type":"string"},"type":"array","title":"Roles"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"}},"type":"object","required":["actor_id","sub","user","actor_type","roles","permissions"],"title":"AuthMeResponse","description":"Current authenticated principal returned by ``GET /auth/me``."},"AuthPermissionResponse":{"properties":{"permission_key":{"type":"string","title":"Permission Key"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["permission_key","display_name","created_at","updated_at"],"title":"AuthPermissionResponse","description":"Serialized local route permission metadata."},"AuthRolePermissionResponse":{"properties":{"role_key":{"type":"string","title":"Role Key"},"permission_key":{"type":"string","title":"Permission Key"}},"type":"object","required":["role_key","permission_key"],"title":"AuthRolePermissionResponse","description":"Serialized local role-to-permission mapping."},"AuthRolePermissionWriteResponse":{"properties":{"role_key":{"type":"string","title":"Role Key"},"permission_key":{"type":"string","title":"Permission Key"}},"type":"object","required":["role_key","permission_key"],"title":"AuthRolePermissionWriteResponse","description":"Response returned after changing one role permission mapping."},"AuthorizationResponse":{"properties":{"authorization_url":{"type":"string","title":"Authorization Url"}},"additionalProperties":false,"type":"object","required":["authorization_url"],"title":"AuthorizationResponse"},"BankAccountInput":{"properties":{"bank_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Bank Account Id"},"account_holder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Holder"},"bank_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Name"},"iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Iban"},"bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bic"}},"additionalProperties":false,"type":"object","title":"BankAccountInput"},"BankAccountResponse":{"properties":{"bank_account_id":{"type":"string","format":"uuid","title":"Bank Account Id"},"account_holder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Holder"},"bank_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Name"},"iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Iban"},"bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bic"},"position":{"type":"integer","title":"Position"},"banking_requested":{"type":"boolean","title":"Banking Requested"},"banking_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banking Error"}},"additionalProperties":false,"type":"object","required":["bank_account_id","position","banking_requested"],"title":"BankAccountResponse"},"BankAccountsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BankAccountResponse"},"type":"array","title":"Items"},"version":{"type":"integer","title":"Version"}},"type":"object","required":["items","version"],"title":"BankAccountsResponse"},"BankAccountsUpdate":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BankAccountInput"},"type":"array","title":"Items"},"version":{"type":"integer","minimum":1.0,"title":"Version"}},"additionalProperties":false,"type":"object","required":["items","version"],"title":"BankAccountsUpdate"},"BankData":{"properties":{"bic":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Bic","description":"BIC of the bank","examples":["GENODEF1M03"]},"shortname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Shortname","description":"Shortname of the bank","examples":["Volksbank Musterstadt"]},"longname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Longname","description":"Longname of the bank including the legal form","examples":["Volksbank Musterstadt eG"]},"bank_data_id":{"type":"string","format":"uuid4","title":"Bank Data Id","description":"Bank Data ID of the bank data","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["bank_data_id","last_change"],"title":"BankData"},"BankDataCreate":{"properties":{"bic":{"type":"string","maxLength":50,"title":"Bic","description":"BIC of the bank","examples":["ABCDDEFFXXX"]},"shortname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Shortname","description":"Shortname of the bank","examples":["Volksbank Musterstadt"]},"longname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Longname","description":"Longname of the bank including the legal form","examples":["Volksbank Musterstadt eG"]}},"additionalProperties":false,"type":"object","required":["bic"],"title":"BankDataCreate"},"BankDataListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of bank records","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/BankData"},"type":"array","title":"Items","description":"List of bank records"}},"type":"object","required":["total_count","items"],"title":"BankDataListResponse"},"BankDataUpdate":{"properties":{"bic":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Bic","description":"BIC of the bank","examples":["GENODEF1M03"]},"shortname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Shortname","description":"Shortname of the bank","examples":["Volksbank Musterstadt"]},"longname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Longname","description":"Longname of the bank including the legal form","examples":["Volksbank Musterstadt eG"]}},"additionalProperties":false,"type":"object","title":"BankDataUpdate"},"Billcycle":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the billcycle","examples":["for special customers"]},"billcycle_key":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Billcycle Key","description":"Unique key for the billcycle","examples":["BC1"]},"billcycle_id":{"type":"string","format":"uuid4","title":"Billcycle Id","description":"Billcycle ID of the billcycle","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["billcycle_id","last_change"],"title":"Billcycle"},"BillcycleCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the billcycle","examples":["for special customers"]},"billcycle_key":{"type":"string","maxLength":50,"title":"Billcycle Key","description":"Unique key for the billcycle","examples":["BC1"]}},"additionalProperties":false,"type":"object","required":["billcycle_key"],"title":"BillcycleCreate"},"BillcycleListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of billcycles in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/Billcycle"},"type":"array","title":"Items","description":"List of billcycles retrieved"}},"type":"object","required":["total_count","items"],"title":"BillcycleListResponse"},"BillcycleUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the billcycle","examples":["for special customers"]},"billcycle_key":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Billcycle Key","description":"Unique key for the billcycle","examples":["BC1"]}},"additionalProperties":false,"type":"object","title":"BillcycleUpdate"},"BillingUserSettings":{"properties":{"discount_position_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Discount Position Label","description":"Label used for automatically generated discount invoice positions","examples":["Rabatt"]},"recurring_billing_timing":{"$ref":"#/components/schemas/RecurringBillingTiming","description":"Whether recurring products are billed in the first or last month of their billing period","default":"period_start"},"invoice_grouping":{"$ref":"#/components/schemas/InvoiceGrouping","description":"Whether invoice runs create one invoice per customer or per service","default":"by_customer"}},"additionalProperties":false,"type":"object","title":"BillingUserSettings"},"CashbookCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"cash_account_no":{"type":"string","maxLength":20,"minLength":1,"title":"Cash Account No"},"opening_balance":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Opening Balance","default":"0.00"},"opening_date":{"type":"string","format":"date","title":"Opening Date"},"currency":{"type":"string","const":"EUR","title":"Currency","default":"EUR"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"additionalProperties":false,"type":"object","required":["name","cash_account_no","opening_date"],"title":"CashbookCreate","description":"Request payload for creating a cashbook."},"CashbookEntryCreate":{"properties":{"transaction_date":{"type":"string","format":"date","title":"Transaction Date"},"direction":{"$ref":"#/components/schemas/CashbookEntryDirection"},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"},"booking_text":{"type":"string","maxLength":255,"minLength":1,"title":"Booking Text"},"offset_account_no":{"type":"string","maxLength":20,"minLength":1,"title":"Offset Account No"},"tax_key":{"type":"string","maxLength":20,"minLength":1,"title":"Tax Key"},"tax_rate":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Tax Rate"},"receipt_no":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Receipt No"},"external_reference":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"External Reference"},"cost_center_1":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Cost Center 1"},"cost_center_2":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Cost Center 2"}},"additionalProperties":false,"type":"object","required":["transaction_date","direction","amount","booking_text","offset_account_no","tax_key","tax_rate"],"title":"CashbookEntryCreate","description":"Request payload for creating one manual cashbook entry."},"CashbookEntryDirection":{"type":"string","enum":["income","expense"],"title":"CashbookEntryDirection","description":"Cash movement direction values."},"CashbookEntryListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/CashbookEntryResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"CashbookEntryListResponse","description":"Paginated cashbook entry response."},"CashbookEntryResponse":{"properties":{"cashbook_entry_id":{"type":"string","format":"uuid4","title":"Cashbook Entry Id"},"cashbook_id":{"type":"string","format":"uuid4","title":"Cashbook Id"},"cashbook_import_run_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Cashbook Import Run Id"},"entry_no":{"type":"integer","title":"Entry No"},"transaction_date":{"type":"string","format":"date","title":"Transaction Date"},"direction":{"$ref":"#/components/schemas/CashbookEntryDirection"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"booking_text":{"type":"string","title":"Booking Text"},"offset_account_no":{"type":"string","title":"Offset Account No"},"tax_key":{"type":"string","title":"Tax Key"},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Tax Rate"},"receipt_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Receipt No"},"external_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Reference"},"cost_center_1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cost Center 1"},"cost_center_2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cost Center 2"},"source_type":{"$ref":"#/components/schemas/CashbookEntrySourceType"},"source_system_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source System Id"},"source_transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Transaction Id"},"source_row_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Row Number"},"balance_before":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Balance Before"},"balance_after":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Balance After"},"locked_by_export_run_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Locked By Export Run Id"},"locked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Locked At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["cashbook_entry_id","cashbook_id","entry_no","transaction_date","direction","amount","booking_text","offset_account_no","tax_key","tax_rate","source_type","balance_before","balance_after","created_at","updated_at"],"title":"CashbookEntryResponse","description":"Cashbook entry API response."},"CashbookEntrySourceType":{"type":"string","enum":["manual","csv","dsfinvk"],"title":"CashbookEntrySourceType","description":"Origin values for cashbook entries."},"CashbookEntryUpdate":{"properties":{"transaction_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Transaction Date"},"direction":{"anyOf":[{"$ref":"#/components/schemas/CashbookEntryDirection"},{"type":"null"}]},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount"},"booking_text":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Booking Text"},"offset_account_no":{"anyOf":[{"type":"string","maxLength":20,"minLength":1},{"type":"null"}],"title":"Offset Account No"},"tax_key":{"anyOf":[{"type":"string","maxLength":20,"minLength":1},{"type":"null"}],"title":"Tax Key"},"tax_rate":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Tax Rate"},"receipt_no":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Receipt No"},"external_reference":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"External Reference"},"cost_center_1":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Cost Center 1"},"cost_center_2":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Cost Center 2"}},"additionalProperties":false,"type":"object","title":"CashbookEntryUpdate","description":"Request payload for updating one cashbook entry."},"CashbookExportRunCreate":{"properties":{"export_year":{"type":"integer","maximum":2100.0,"minimum":2000.0,"title":"Export Year"},"export_month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Export Month"}},"additionalProperties":false,"type":"object","required":["export_year","export_month"],"title":"CashbookExportRunCreate","description":"Request payload for queueing a cashbook DATEV export."},"CashbookExportRunListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/CashbookExportRunResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"CashbookExportRunListResponse","description":"Paginated cashbook export run response."},"CashbookExportRunQueuedResponse":{"properties":{"message":{"type":"string","title":"Message"},"cashbook_export_run_id":{"type":"string","format":"uuid4","title":"Cashbook Export Run Id"}},"type":"object","required":["message","cashbook_export_run_id"],"title":"CashbookExportRunQueuedResponse","description":"Response returned after queueing a cashbook DATEV export."},"CashbookExportRunResponse":{"properties":{"cashbook_export_run_id":{"type":"string","format":"uuid4","title":"Cashbook Export Run Id"},"cashbook_id":{"type":"string","format":"uuid4","title":"Cashbook Id"},"status":{"$ref":"#/components/schemas/CashbookExportRunStatus"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"heartbeat_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Heartbeat At"},"export_year":{"type":"integer","title":"Export Year"},"export_month":{"type":"integer","title":"Export Month"},"export_period_start":{"type":"string","format":"date","title":"Export Period Start"},"export_period_end":{"type":"string","format":"date","title":"Export Period End"},"total_entries":{"type":"integer","title":"Total Entries"},"processed_entries":{"type":"integer","title":"Processed Entries"},"failed_entries":{"type":"integer","title":"Failed Entries"},"ascii_zip_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ascii Zip Filename"},"extf_zip_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extf Zip Filename"},"ascii_zip_available":{"type":"boolean","title":"Ascii Zip Available","default":false},"extf_zip_available":{"type":"boolean","title":"Extf Zip Available","default":false},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"expired_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expired Date","description":"Calculated expiration date of the export archives.","readOnly":true}},"type":"object","required":["cashbook_export_run_id","cashbook_id","status","start_date","export_year","export_month","export_period_start","export_period_end","total_entries","processed_entries","failed_entries","expired_date"],"title":"CashbookExportRunResponse","description":"Cashbook DATEV export run API response."},"CashbookExportRunStatus":{"type":"string","enum":["pending","running","finished","failed"],"title":"CashbookExportRunStatus","description":"Cashbook DATEV export run status values."},"CashbookImportRunListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/CashbookImportRunResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"CashbookImportRunListResponse","description":"Paginated cashbook import run response."},"CashbookImportRunResponse":{"properties":{"cashbook_import_run_id":{"type":"string","format":"uuid4","title":"Cashbook Import Run Id"},"cashbook_id":{"type":"string","format":"uuid4","title":"Cashbook Id"},"source_type":{"$ref":"#/components/schemas/CashbookImportSourceType"},"status":{"$ref":"#/components/schemas/CashbookImportRunStatus"},"original_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Filename"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"sha256_checksum":{"type":"string","title":"Sha256 Checksum"},"raw_archive_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Archive Filename"},"total_rows":{"type":"integer","title":"Total Rows"},"accepted_rows":{"type":"integer","title":"Accepted Rows"},"rejected_rows":{"type":"integer","title":"Rejected Rows"},"error_count":{"type":"integer","title":"Error Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["cashbook_import_run_id","cashbook_id","source_type","status","sha256_checksum","total_rows","accepted_rows","rejected_rows","error_count","created_at"],"title":"CashbookImportRunResponse","description":"Cashbook import run API response."},"CashbookImportRunStatus":{"type":"string","enum":["accepted","rejected"],"title":"CashbookImportRunStatus","description":"Cashbook import run status values."},"CashbookImportSourceType":{"type":"string","enum":["csv","dsfinvk"],"title":"CashbookImportSourceType","description":"Supported cashbook import source types."},"CashbookImportSuccess":{"properties":{"status":{"type":"string","title":"Status","default":"accepted"},"cashbook_import_run_id":{"type":"string","format":"uuid4","title":"Cashbook Import Run Id"},"total_rows":{"type":"integer","title":"Total Rows"},"created_entries":{"type":"integer","title":"Created Entries"}},"type":"object","required":["cashbook_import_run_id","total_rows","created_entries"],"title":"CashbookImportSuccess","description":"Structured success response for an accepted cashbook import."},"CashbookListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/CashbookResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"CashbookListResponse","description":"Paginated cashbook list response."},"CashbookResponse":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"cash_account_no":{"type":"string","maxLength":20,"minLength":1,"title":"Cash Account No"},"opening_balance":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Opening Balance","default":"0.00"},"opening_date":{"type":"string","format":"date","title":"Opening Date"},"currency":{"type":"string","const":"EUR","title":"Currency","default":"EUR"},"is_active":{"type":"boolean","title":"Is Active","default":true},"cashbook_id":{"type":"string","format":"uuid4","title":"Cashbook Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"current_balance":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Current Balance"}},"type":"object","required":["name","cash_account_no","opening_date","cashbook_id","created_at","updated_at"],"title":"CashbookResponse","description":"Cashbook API response."},"CashbookUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"cash_account_no":{"anyOf":[{"type":"string","maxLength":20,"minLength":1},{"type":"null"}],"title":"Cash Account No"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"additionalProperties":false,"type":"object","title":"CashbookUpdate","description":"Request payload for updating a cashbook."},"CatalogResponse":{"properties":{"version":{"type":"integer","const":1,"title":"Version","default":1},"datasets":{"items":{"$ref":"#/components/schemas/DatasetDescription"},"type":"array","title":"Datasets"},"default_page_size":{"type":"integer","title":"Default Page Size","default":500},"max_page_size":{"type":"integer","title":"Max Page Size","default":2000},"max_filter_depth":{"type":"integer","title":"Max Filter Depth","default":6},"max_filter_conditions":{"type":"integer","title":"Max Filter Conditions","default":64},"comparison_operators":{"items":{"type":"string"},"type":"array","title":"Comparison Operators","default":["eq","ne","gt","ge","lt","le"]},"string_functions":{"items":{"type":"string"},"type":"array","title":"String Functions","default":["contains","startswith","endswith","tolower","toupper"]},"date_granularities":{"items":{"type":"string"},"type":"array","title":"Date Granularities","default":["year","month","day"]}},"additionalProperties":false,"type":"object","required":["datasets"],"title":"CatalogResponse"},"ColumnDescription":{"properties":{"name":{"type":"string","title":"Name"},"type":{"type":"string","enum":["Edm.String","Edm.Guid","Edm.Int32","Edm.Int64","Edm.Decimal","Edm.Boolean","Edm.Date","Edm.DateTimeOffset"],"title":"Type"},"nullable":{"type":"boolean","title":"Nullable","default":true},"precision":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Precision"},"scale":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Scale"},"filterable":{"type":"boolean","title":"Filterable","default":true},"sortable":{"type":"boolean","title":"Sortable","default":true},"groupable":{"type":"boolean","title":"Groupable","default":true},"aggregates":{"items":{"type":"string","enum":["sum","count","count_distinct","avg","min","max"]},"type":"array","title":"Aggregates"}},"additionalProperties":false,"type":"object","required":["name","type"],"title":"ColumnDescription"},"CommercialDocument":{"properties":{"buyer_id":{"type":"string","format":"uuid4","title":"Buyer Id","description":"Unique identifier of the buyer.","examples":["550e8400-e29b-41d4-a716-446655440003"]},"document_data":{"$ref":"#/components/schemas/CommercialDocumentHead","description":"Header data of the commercial document, including document dates, type, number, and totals."},"buyer":{"$ref":"#/components/schemas/CommercialDocumentBuyer","description":"Buyer data for the commercial document."},"seller":{"$ref":"#/components/schemas/CommercialDocumentSeller","description":"Seller data for the commercial document."},"positions":{"items":{"$ref":"#/components/schemas/CommercialDocumentPosition"},"type":"array","title":"Positions","description":"Top-level positions of the commercial document."},"commercial_document_services":{"items":{"$ref":"#/components/schemas/CommercialDocumentService"},"type":"array","title":"Commercial Document Services","description":"List of commercial document services and their positions."}},"additionalProperties":false,"type":"object","required":["buyer_id","document_data","buyer","seller","positions"],"title":"CommercialDocument","examples":[{"buyer":{"city":"Kassel","customer_description":"Customer 1","customer_number":456789,"firstname":"John","has_active_payment":true,"house_number":"12","name":"Doe","payment":{"account_holder":"Jane Doe","bic":"GENODEF1M03","iban":"DE02120300000000202051","mandate_reference":"MANDATE-2026-0001"},"postcode":"34117","salutation":"Mr.","street":"Main Street","tax_identification_no":"DE123456789"},"buyer_id":"550e8400-e29b-41d4-a716-446655440003","commercial_document_services":[],"document_data":{"document_date":"2024-01-01","document_id":"550e8400-e29b-41d4-a716-446655440002","document_no":10001,"document_prefix":"RE","document_type":"invoice","due_date":"2024-01-31","gross_sum":"119.00","net_sum":"100.00","reference_number":"AB-10001","service_date":"2024-01-01","tax":[{"gross_sum":"119.00","net_sum":"100.00","tax_rate":"19.00","tax_sum":"19.00"}],"tax_sum":"19.00"},"positions":[{"full_price_gross":"59.38","full_price_net":"49.90","net_price":"49.90","position":1,"position_id":"550e8400-e29b-41d4-a716-446655440000","product_count":"1.00","product_description":"Managed operation and maintenance of the subscription.","product_text":"Monthly subscription","product_unit":"pcs","service_date_from":"2024-01-01","service_date_to":"2024-01-31","source_service_id":"550e8400-e29b-41d4-a716-446655440001","tax":"9.48","tax_rate":"19.00"}],"seller":{"address":{"city":"Kassel","country_code":"DE","country_subdivision":"HE","line_1":"Example Street 1","post_code":"34117"},"bank":{"account_holder":"Example GmbH","bank_name":"Musterbank","bic":"GENODEF1KAS","iban":"DE02120300000000202051"},"banks":[{"account_holder":"Example GmbH","bank_name":"Musterbank","bic":"GENODEF1KAS","iban":"DE02120300000000202051"}],"business_identification_number":"DE123456789-00001","contact":{"email_address":"support@example.de","person_name":"Support","telephone_number":"+49 561 12345-0"},"electronic_address":{"scheme_id":"EM","value":"rechnung@example.de"},"legal_registration":{"value":"HRB 12345"},"name":"Example GmbH","seller_identifier":{"scheme_id":"0088","value":"991-1234567890"},"tax_representative":{},"trading_name":"Example Telecom","vat_identifier":"DE123456789"}}]},"CommercialDocumentAddress":{"properties":{"line_1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line 1","description":"Address line 1."},"line_2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line 2","description":"Address line 2."},"line_3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line 3","description":"Address line 3."},"post_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Code","description":"Post code."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"City."},"country_subdivision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Subdivision","description":"Country subdivision."},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code","description":"ISO country code."}},"additionalProperties":false,"type":"object","title":"CommercialDocumentAddress"},"CommercialDocumentBank":{"properties":{"account_holder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Holder","description":"Bank account holder."},"iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Iban","description":"IBAN."},"bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bic","description":"BIC."},"bank_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Name","description":"Bank name."}},"additionalProperties":false,"type":"object","title":"CommercialDocumentBank"},"CommercialDocumentBuyer":{"properties":{"customer_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Number","description":"Customer number of the buyer.","examples":[456789]},"customer_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Description","description":"Free-text description of the buyer.","examples":["Customer 1"]},"tax_identification_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Identification No","description":"Tax identification number of the buyer.","examples":["DE123456789"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation of the recipient.","examples":["Mr."]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name of the recipient.","examples":["Doe"]},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name of the recipient.","examples":["John"]},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company name of the recipient.","examples":["Example GmbH"]},"street":{"type":"string","title":"Street","description":"Street of the recipient address.","examples":["Main Street"]},"house_number":{"type":"string","title":"House Number","description":"House number of the recipient address.","examples":["12"]},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"Additional house number information.","examples":["A"]},"postcode":{"type":"string","title":"Postcode","description":"Postcode of the recipient address.","examples":["34117"]},"city":{"type":"string","title":"City","description":"City of the recipient address.","examples":["Kassel"]},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District of the recipient address.","examples":["Mitte"]},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code","description":"ISO country code of the recipient address.","examples":["DE"]},"payment_target":{"anyOf":[{"$ref":"#/components/schemas/CommercialDocumentPaymentTarget"},{"type":"null"}],"description":"Payment target of this buyer."},"payment":{"$ref":"#/components/schemas/CommercialDocumentBuyerPayment","description":"Selected active SEPA payment of this buyer."},"has_active_payment":{"type":"boolean","title":"Has Active Payment","description":"True when the buyer currently has an active payment.","default":false,"examples":[true]},"buyer_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Reference","description":"Buyer reference (BT-10) used in e-invoice XML.","examples":["KND-456789"]},"electronic_address":{"$ref":"#/components/schemas/CommercialDocumentIdentifier","description":"Electronic buyer address (BT-49)."}},"additionalProperties":false,"type":"object","required":["street","house_number","postcode","city"],"title":"CommercialDocumentBuyer","examples":[{"city":"Kassel","customer_description":"Customer 1","customer_number":456789,"district":"Mitte","firstname":"John","has_active_payment":true,"house_number":"12","house_number_addition":"A","name":"Doe","payment":{"account_holder":"Jane Doe","bic":"GENODEF1M03","iban":"DE02120300000000202051","mandate_reference":"MANDATE-2026-0001"},"postcode":"34117","salutation":"Mr.","street":"Main Street","tax_identification_no":"DE123456789"}]},"CommercialDocumentBuyerPayment":{"properties":{"iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Iban","description":"IBAN of the buyer's selected active payment.","examples":["DE02120300000000202051"]},"bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bic","description":"BIC of the buyer's selected active payment.","examples":["GENODEF1M03"]},"mandate_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mandate Reference","description":"SEPA mandate reference of the buyer's selected active payment.","examples":["MANDATE-2026-0001"]},"account_holder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Holder","description":"Account holder of the buyer's selected active payment.","examples":["Jane Doe"]}},"additionalProperties":false,"type":"object","title":"CommercialDocumentBuyerPayment","description":"Selected active SEPA payment details exposed to document templates."},"CommercialDocumentContact":{"properties":{"person_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Name","description":"Contact person name."},"department_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department Name","description":"Department name."},"telephone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telephone Number","description":"Telephone number."},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Address","description":"Email address."}},"additionalProperties":false,"type":"object","title":"CommercialDocumentContact"},"CommercialDocumentHead":{"properties":{"document_date":{"type":"string","format":"date","title":"Document Date","description":"Document date.","examples":["2024-01-01"]},"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date.","examples":["2024-01-01"]},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date.","examples":["2024-01-31"]},"document_id":{"type":"string","format":"uuid4","title":"Document Id","description":"Unique identifier of the commercial document.","examples":["550e8400-e29b-41d4-a716-446655440002"]},"document_type":{"$ref":"#/components/schemas/DocumentTypeEnum","description":"Type of the commercial document."},"document_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Document No","description":"Human-readable document number.","examples":[10001]},"document_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Prefix","description":"Prefix of the document number.","examples":["RE"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the source commercial document.","examples":["AB-10001"]},"net_sum":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Sum","description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},"tax_sum":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Sum","description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},"tax":{"items":{"$ref":"#/components/schemas/CommercialDocumentTaxSummary"},"type":"array","title":"Tax","description":"Grouped document totals per tax rate."},"gross_sum":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Gross Sum","description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},"business_process_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Process Id","description":"Business process identifier (BT-23 / ProfileID) used for e-invoices."},"specification_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Specification Identifier","description":"Specification identifier (BT-24) used for e-invoices."}},"additionalProperties":false,"type":"object","required":["document_date","service_date","due_date","document_id","document_type","net_sum","tax_sum","gross_sum"],"title":"CommercialDocumentHead","examples":[{"document_date":"2024-01-01","document_id":"550e8400-e29b-41d4-a716-446655440002","document_no":10001,"document_prefix":"RE","document_type":"invoice","due_date":"2024-01-31","gross_sum":"119.00","net_sum":"100.00","reference_number":"AB-10001","service_date":"2024-01-01","tax":[{"gross_sum":"119.00","net_sum":"100.00","tax_rate":"19.00","tax_sum":"19.00"}],"tax_sum":"19.00"}]},"CommercialDocumentIdentifier":{"properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value","description":"Identifier value."},"scheme_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scheme Id","description":"Identifier scheme ID."}},"additionalProperties":false,"type":"object","title":"CommercialDocumentIdentifier"},"CommercialDocumentPaymentTarget":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the payment target","examples":["Zahlungsziel 1"]},"target_1_days":{"type":"integer","title":"Target 1 Days","description":"Target 1 days of the payment target","examples":[7]},"target_1_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Target 1 Skonto","description":"Target 1 skonto of the payment target","examples":["3.0"]},"target_2_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 2 Days","description":"Target 2 days of the payment target","examples":[14]},"target_2_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 2 Skonto","description":"Target 2 skonto of the payment target","examples":["2.0"]},"target_3_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 3 Days","description":"Target 3 days of the payment target","examples":[30]},"target_3_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 3 Skonto","description":"Target 3 skonto of the payment target","examples":["1.0"]},"payment_target_id":{"type":"string","format":"uuid4","title":"Payment Target Id","description":"Payment target ID of the payment target","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"additionalProperties":false,"type":"object","required":["description","target_1_days","target_1_skonto","payment_target_id","last_change"],"title":"CommercialDocumentPaymentTarget","description":"Strict payment-target snapshot supplied with a render request."},"CommercialDocumentPosition":{"properties":{"position_id":{"type":"string","format":"uuid4","title":"Position Id","description":"Unique identifier of the position.","examples":["550e8400-e29b-41d4-a716-446655440000"]},"position":{"type":"integer","title":"Position","description":"Sequential position number.","examples":[1]},"product_text":{"type":"string","title":"Product Text","description":"Name of the product or service.","examples":["Monthly subscription"]},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description","description":"Optional description of the product or service.","examples":["Managed operation and maintenance of the subscription."]},"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Price","description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},"tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Rate","description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},"product_count":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Product Count","description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From","description":"Start date of the billed service period.","examples":["2024-01-01"]},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To","description":"End date of the billed service period.","examples":["2024-01-31"]},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit","description":"Unit of the product quantity.","examples":["pcs"]},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service of the position.","examples":["550e8400-e29b-41d4-a716-446655440001"]},"full_price_net":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},{"type":"null"}],"title":"Full Price Net","description":"Calculated net total for the position.","examples":["49.90"]},"full_price_gross":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},{"type":"null"}],"title":"Full Price Gross","description":"Calculated gross total for the position.","examples":["59.38"]},"tax":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"description":"Monetary value with up to 10 digits and 2 decimal places.","examples":["100.00"]},{"type":"null"}],"title":"Tax","description":"Calculated tax amount for the position.","examples":["9.48"]}},"additionalProperties":false,"type":"object","required":["position_id","position","product_text","net_price","tax_rate","product_count"],"title":"CommercialDocumentPosition"},"CommercialDocumentSeller":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Legal name of the seller."},"trading_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trading Name","description":"Trading name of the seller."},"seller_identifier":{"$ref":"#/components/schemas/CommercialDocumentIdentifier","description":"Seller identifier."},"legal_registration":{"$ref":"#/components/schemas/CommercialDocumentIdentifier","description":"Legal registration information."},"electronic_address":{"$ref":"#/components/schemas/CommercialDocumentIdentifier","description":"Electronic address identifier."},"vat_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vat Identifier","description":"VAT identifier of the seller."},"business_identification_number":{"anyOf":[{"type":"string","pattern":"^DE\\d{9}(?:-\\d{5})?$"},{"type":"null"}],"title":"Business Identification Number","description":"German business identification number (W-IdNr.) of the seller.","examples":["DE123456789-00001"]},"tax_registration_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Registration Identifier","description":"Tax registration identifier of the seller."},"additional_legal_information":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additional Legal Information","description":"Additional legal information."},"address":{"$ref":"#/components/schemas/CommercialDocumentAddress","description":"Postal address of the seller."},"contact":{"$ref":"#/components/schemas/CommercialDocumentContact","description":"Primary seller contact."},"bank":{"$ref":"#/components/schemas/CommercialDocumentBank","description":"Primary bank information of the seller."},"banks":{"items":{"$ref":"#/components/schemas/CommercialDocumentBank"},"type":"array","title":"Banks","description":"Bank accounts of the seller."},"tax_representative":{"$ref":"#/components/schemas/CommercialDocumentTaxRepresentative","description":"Tax representative of the seller."}},"additionalProperties":false,"type":"object","title":"CommercialDocumentSeller","examples":[{"address":{"city":"Kassel","country_code":"DE","country_subdivision":"HE","line_1":"Example Street 1","post_code":"34117"},"bank":{"account_holder":"Example GmbH","bank_name":"Musterbank","bic":"GENODEF1KAS","iban":"DE02120300000000202051"},"banks":[{"account_holder":"Example GmbH","bank_name":"Musterbank","bic":"GENODEF1KAS","iban":"DE02120300000000202051"}],"business_identification_number":"DE123456789-00001","contact":{"email_address":"support@example.de","person_name":"Support","telephone_number":"+49 561 12345-0"},"electronic_address":{"scheme_id":"EM","value":"rechnung@example.de"},"legal_registration":{"value":"HRB 12345"},"name":"Example GmbH","seller_identifier":{"scheme_id":"0088","value":"991-1234567890"},"tax_representative":{},"trading_name":"Example Telecom","vat_identifier":"DE123456789"}]},"CommercialDocumentService":{"properties":{"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From","description":"Start date of the billed or provided service period.","examples":["2021-01-01"]},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To","description":"End date of the billed or provided service period.","examples":["2021-01-31"]},"service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id","description":"Unique identifier of the service.","examples":["550e8400-e29b-41d4-a716-446655440001"]},"service_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Description","description":"Description of the service.","examples":["Internet access service"]},"service_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Number","description":"Service number of the service.","examples":[1]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date when the service became active.","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date when the service was deactivated.","examples":["2022-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Start date of the minimum contract duration or service duration.","examples":["2021-01-01"]},"terms":{"$ref":"#/components/schemas/CommercialDocumentTerms","description":"Terms associated with the service."},"positions":{"items":{"$ref":"#/components/schemas/CommercialDocumentPosition"},"type":"array","title":"Positions","description":"Positions assigned to this service."}},"additionalProperties":false,"type":"object","required":["terms","positions"],"title":"CommercialDocumentService"},"CommercialDocumentStatus":{"type":"string","enum":["draft","committed","generated","sent"],"title":"CommercialDocumentStatus","description":"Shared lifecycle status for editable commercial documents."},"CommercialDocumentTaxRepresentative":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Name of the tax representative."},"vat_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vat Identifier","description":"VAT identifier of the tax representative."}},"additionalProperties":false,"type":"object","title":"CommercialDocumentTaxRepresentative"},"CommercialDocumentTaxSummary":{"properties":{"tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Rate","description":"Tax rate for this summary group.","examples":["19.00"]},"net_sum":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Sum","description":"Grouped net total for this tax rate.","examples":["100.00"]},"tax_sum":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Sum","description":"Grouped tax total for this tax rate.","examples":["19.00"]},"gross_sum":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Gross Sum","description":"Grouped gross total for this tax rate.","examples":["119.00"]}},"additionalProperties":false,"type":"object","required":["tax_rate","net_sum","tax_sum","gross_sum"],"title":"CommercialDocumentTaxSummary","description":"Grouped commercial document totals for one tax rate."},"CommercialDocumentTerms":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the duration terms","examples":["Default"]},"first_min_term_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"First Min Term Value","description":"First minimum duration term value in months","examples":[12]},"first_cancellation_period_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"First Cancellation Period Value","description":"First cancellation period value in months","examples":[3]},"min_term_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Term Value","description":"Minimum duration term value in months","examples":[12]},"cancellation_period_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cancellation Period Value","description":"Cancellation period value in months","examples":[3]},"terms_id":{"type":"string","format":"uuid4","title":"Terms Id","description":"Terms ID of the duration terms","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"additionalProperties":false,"type":"object","required":["terms_id","last_change"],"title":"CommercialDocumentTerms","description":"Strict service-terms snapshot supplied with a render request."},"CommonDocumentRenderData":{"properties":{"commercial_document":{"$ref":"#/components/schemas/CommercialDocument","description":"Commercial document payload available to the template"},"document":{"$ref":"#/components/schemas/DocumentRenderMeta","description":"Document metadata available to the template"}},"additionalProperties":false,"type":"object","required":["commercial_document","document"],"title":"CommonDocumentRenderData"},"CompanyLegalForm":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the company legal form","examples":["GmbH"]},"legal_form_id":{"type":"string","format":"uuid4","title":"Legal Form Id","description":"Company legal form ID of the company legal form","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["legal_form_id","last_change"],"title":"CompanyLegalForm"},"CompanyLegalFormCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the company legal form","examples":["GmbH"]}},"additionalProperties":false,"type":"object","required":["description"],"title":"CompanyLegalFormCreate"},"CompanyLegalFormListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of Records in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/CompanyLegalForm"},"type":"array","title":"Items","description":"List of Records"}},"type":"object","required":["total_count","items"],"title":"CompanyLegalFormListResponse"},"CompanyLegalFormUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the company legal form","examples":["GmbH"]}},"additionalProperties":false,"type":"object","title":"CompanyLegalFormUpdate"},"ComparisonFilter-Input":{"properties":{"kind":{"type":"string","const":"comparison","title":"Kind","default":"comparison"},"operator":{"type":"string","enum":["eq","ne","gt","ge","lt","le","contains","startswith","endswith"],"title":"Operator"},"left":{"$ref":"#/components/schemas/FieldOperand"},"right":{"oneOf":[{"$ref":"#/components/schemas/FieldOperand"},{"$ref":"#/components/schemas/ValueOperand-Input"}],"title":"Right","discriminator":{"propertyName":"kind","mapping":{"field":"#/components/schemas/FieldOperand","value":"#/components/schemas/ValueOperand-Input"}}}},"additionalProperties":false,"type":"object","required":["operator","left","right"],"title":"ComparisonFilter"},"ComparisonFilter-Output":{"properties":{"kind":{"type":"string","const":"comparison","title":"Kind","default":"comparison"},"operator":{"type":"string","enum":["eq","ne","gt","ge","lt","le","contains","startswith","endswith"],"title":"Operator"},"left":{"$ref":"#/components/schemas/FieldOperand"},"right":{"oneOf":[{"$ref":"#/components/schemas/FieldOperand"},{"$ref":"#/components/schemas/ValueOperand-Output"}],"title":"Right","discriminator":{"propertyName":"kind","mapping":{"field":"#/components/schemas/FieldOperand","value":"#/components/schemas/ValueOperand-Output"}}}},"additionalProperties":false,"type":"object","required":["operator","left","right"],"title":"ComparisonFilter"},"Configuration":{"properties":{"account_length":{"type":"integer","maximum":8.0,"minimum":4.0,"title":"Account Length"},"fiscal_year_month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Fiscal Year Month","default":1},"fiscal_year_day":{"type":"integer","maximum":28.0,"minimum":1.0,"title":"Fiscal Year Day","default":1},"chart":{"type":"string","pattern":"^\\d{2}$","title":"Chart"},"rules":{"items":{"$ref":"#/components/schemas/PostingRule-Output"},"type":"array","maxItems":1000,"title":"Rules"},"document_types":{"additionalProperties":{"type":"string","maxLength":30,"minLength":1},"propertyNames":{"enum":["invoice","corrective_invoice","self_billing_invoice"]},"type":"object","title":"Document Types"},"consultant_number":{"type":"string","pattern":"^[1-9]\\d{3,6}$","title":"Consultant Number"},"client_number":{"type":"string","pattern":"^[1-9]\\d{0,4}$","title":"Client Number"}},"additionalProperties":false,"type":"object","required":["account_length","chart","rules","consultant_number","client_number"],"title":"Configuration"},"ConnectionResponse":{"properties":{"generation":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Generation"},"accounting_client":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accounting Client"},"state":{"type":"string","title":"State"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"authorized_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorized By"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"}},"additionalProperties":false,"type":"object","required":["state"],"title":"ConnectionResponse"},"ContactDataCreate":{"properties":{"salutation_id":{"type":"string","format":"uuid4","title":"Salutation Id","description":"ID of the salutation as UUID foreign key","examples":["7f0b3f53-df0a-408b-903e-c61405b6cff2"]},"title_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Title Id","description":"ID of the title as UUID foreign key","examples":["cca9fe7b-e875-4a1f-b00a-e74231225807"]},"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name","description":"Last name of the contact partner","examples":["Weber"]},"firstname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Firstname","description":"First name of the contact partner","examples":["Karsten"]},"company":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Company","description":"Company name to which the contact belongs","examples":["WebSin UG"]},"mail":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Mail","description":"Mail of the customer","examples":["info@websin.de"]},"phone":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Phone","description":"Phone number of the customer","examples":["0123456789"]},"mobile":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Mobile","description":"Mobile number of the customer","examples":["0123456789"]},"birthday":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Birthday","description":"Birthday of the customer","examples":["2020-01-01"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Note of the customer","examples":["Note"]},"priority":{"type":"integer","title":"Priority","description":"Rating of the priority in numbers. The higher the number, the higher the priority.","examples":[10]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Date from which the contact data is valid","examples":["2020-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Date until which the contact data is valid","examples":["2020-01-31"]}},"additionalProperties":false,"type":"object","required":["salutation_id","priority"],"title":"ContactDataCreate"},"ContactDataResponse":{"properties":{"salutation_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Salutation Id","description":"ID of the salutation as UUID foreign key","examples":["7f0b3f53-df0a-408b-903e-c61405b6cff2"]},"title_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Title Id","description":"ID of the title as UUID foreign key","examples":["cca9fe7b-e875-4a1f-b00a-e74231225807"]},"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name","description":"Last name of the contact partner","examples":["Weber"]},"firstname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Firstname","description":"First name of the contact partner","examples":["Karsten"]},"company":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Company","description":"Company name to which the contact belongs","examples":["WebSin UG"]},"mail":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Mail","description":"Mail of the customer","examples":["info@websin.de"]},"phone":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Phone","description":"Phone number of the customer","examples":["0123456789"]},"mobile":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Mobile","description":"Mobile number of the customer","examples":["0123456789"]},"birthday":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Birthday","description":"Birthday of the customer","examples":["2020-01-01"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Note of the customer","examples":["Note"]},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority","description":"Rating of the priority in numbers. The higher the number, the higher the priority.","examples":[10]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Date from which the contact data is valid","examples":["2020-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Date until which the contact data is valid","examples":["2020-01-31"]},"contact_data_id":{"type":"string","format":"uuid4","title":"Contact Data Id","description":"Contact data ID of the customer","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"address_id":{"type":"string","format":"uuid4","title":"Address Id","description":"ID of the address as UUID foreign key","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"salutation":{"$ref":"#/components/schemas/Salutation"},"title":{"anyOf":[{"$ref":"#/components/schemas/Title"},{"type":"null"}]}},"type":"object","required":["contact_data_id","address_id","last_change","salutation"],"title":"ContactDataResponse"},"ContactDataUpdate":{"properties":{"salutation_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Salutation Id","description":"ID of the salutation as UUID foreign key","examples":["7f0b3f53-df0a-408b-903e-c61405b6cff2"]},"title_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Title Id","description":"ID of the title as UUID foreign key","examples":["cca9fe7b-e875-4a1f-b00a-e74231225807"]},"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name","description":"Last name of the contact partner","examples":["Weber"]},"firstname":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Firstname","description":"First name of the contact partner","examples":["Karsten"]},"company":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Company","description":"Company name to which the contact belongs","examples":["WebSin UG"]},"mail":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Mail","description":"Mail of the customer","examples":["info@websin.de"]},"phone":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Phone","description":"Phone number of the customer","examples":["0123456789"]},"mobile":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Mobile","description":"Mobile number of the customer","examples":["0123456789"]},"birthday":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Birthday","description":"Birthday of the customer","examples":["2020-01-01"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Note of the customer","examples":["Note"]},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority","description":"Rating of the priority in numbers. The higher the number, the higher the priority.","examples":[10]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Date from which the contact data is valid","examples":["2020-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Date until which the contact data is valid","examples":["2020-01-31"]}},"additionalProperties":false,"type":"object","title":"ContactDataUpdate"},"CorrectiveInvoiceCreate":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"corrective_invoice_date":{"type":"string","format":"date","title":"Corrective Invoice Date","description":"Corrective invoice date","examples":["2024-01-01"]},"positions":{"items":{"$ref":"#/components/schemas/CorrectiveInvoicePositionCreate"},"type":"array","title":"Positions"}},"additionalProperties":false,"type":"object","required":["service_date","due_date","street","house_number","postcode","city","corrective_invoice_date","positions"],"title":"CorrectiveInvoiceCreate"},"CorrectiveInvoiceFromCorrectiveInvoiceRequest":{"properties":{"corrective_invoice_id":{"type":"string","format":"uuid4","title":"Corrective Invoice Id"},"corrective_invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Corrective Invoice Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"}},"additionalProperties":false,"type":"object","required":["corrective_invoice_id"],"title":"CorrectiveInvoiceFromCorrectiveInvoiceRequest"},"CorrectiveInvoiceFromInvoiceRequest":{"properties":{"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"corrective_invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Corrective Invoice Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"}},"additionalProperties":false,"type":"object","required":["invoice_id"],"title":"CorrectiveInvoiceFromInvoiceRequest"},"CorrectiveInvoiceIdResponse":{"properties":{"corrective_invoice_id":{"type":"string","format":"uuid4","title":"Corrective Invoice Id"}},"type":"object","required":["corrective_invoice_id"],"title":"CorrectiveInvoiceIdResponse"},"CorrectiveInvoiceListItem":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"corrective_invoice_date":{"type":"string","format":"date","title":"Corrective Invoice Date","description":"Corrective invoice date","examples":["2024-01-01"]},"corrective_invoice_id":{"type":"string","format":"uuid4","title":"Corrective Invoice Id"},"corrective_invoice_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Corrective Invoice No"},"corrective_invoice_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Corrective Invoice Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/LinkedDocumentSummary"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","corrective_invoice_date","corrective_invoice_id","status"],"title":"CorrectiveInvoiceListItem"},"CorrectiveInvoiceListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/CorrectiveInvoiceListItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"CorrectiveInvoiceListResponse"},"CorrectiveInvoicePositionCreate":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Price","examples":["100.00"]},"tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Rate","examples":["100.00"]},"product_count":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"}},"additionalProperties":false,"type":"object","required":["product_text","net_price","tax_rate","product_count"],"title":"CorrectiveInvoicePositionCreate"},"CorrectiveInvoicePositionDetailed":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Net Price","examples":["100.00"]},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Tax Rate","examples":["100.00"]},"product_count":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"},"product_number_snapshot":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number Snapshot","description":"Product number snapshot captured when the position was created"},"product_group_name_snapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Group Name Snapshot","description":"Product group name snapshot captured when the position was created"},"corrective_invoice_position_id":{"type":"string","format":"uuid4","title":"Corrective Invoice Position Id"},"position":{"type":"integer","title":"Position"},"full_price_net":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Net"},"full_price_gross":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Gross"},"tax":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax"}},"type":"object","required":["product_text","net_price","tax_rate","product_count","corrective_invoice_position_id","position"],"title":"CorrectiveInvoicePositionDetailed"},"CorrectiveInvoicePositionUpdate":{"properties":{"product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Net Price"},"tax_rate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Tax Rate"},"product_count":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Product Count"},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id"}},"additionalProperties":false,"type":"object","title":"CorrectiveInvoicePositionUpdate"},"CorrectiveInvoiceResponse":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"corrective_invoice_date":{"type":"string","format":"date","title":"Corrective Invoice Date","description":"Corrective invoice date","examples":["2024-01-01"]},"corrective_invoice_id":{"type":"string","format":"uuid4","title":"Corrective Invoice Id"},"corrective_invoice_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Corrective Invoice No"},"corrective_invoice_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Corrective Invoice Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"positions":{"items":{"$ref":"#/components/schemas/CorrectiveInvoicePositionDetailed"},"type":"array","title":"Positions"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/DocumentResponse"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","corrective_invoice_date","corrective_invoice_id","status","positions"],"title":"CorrectiveInvoiceResponse"},"CorrectiveInvoiceUpdate":{"properties":{"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number"},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"house_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District"},"corrective_invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Corrective Invoice Date"}},"additionalProperties":false,"type":"object","title":"CorrectiveInvoiceUpdate"},"CounterpartySettings":{"properties":{"creditor_account":{"anyOf":[{"type":"string","pattern":"^[7-9]\\d{4,8}$"},{"type":"null"}],"title":"Creditor Account"},"country_code":{"type":"string","pattern":"^[A-Z]{2}$","title":"Country Code"},"vat_id":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}[A-Za-z0-9]{2,13}$"},{"type":"null"}],"title":"Vat Id"}},"additionalProperties":false,"type":"object","required":["country_code"],"title":"CounterpartySettings"},"CreateDocumentAssetForm":{"properties":{"asset_key":{"type":"string","title":"Asset Key"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"additionalProperties":false,"type":"object","required":["asset_key","file"],"title":"CreateDocumentAssetForm","description":"Fields accepted by the create_document_asset endpoint."},"CreateDocumentBackgroundForm":{"properties":{"background_key":{"type":"string","title":"Background Key"},"source_type":{"$ref":"#/components/schemas/DocumentBackgroundSourceTypeEnum"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"style_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style Id"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"additionalProperties":false,"type":"object","required":["background_key","source_type","file"],"title":"CreateDocumentBackgroundForm","description":"Fields accepted by the create_document_background endpoint."},"CreateDocumentStyleForm":{"properties":{"style_key":{"type":"string","title":"Style Key"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"additionalProperties":false,"type":"object","required":["style_key","file"],"title":"CreateDocumentStyleForm","description":"Fields accepted by the create_document_style endpoint."},"CreateDocumentTemplateForm":{"properties":{"template_key":{"type":"string","title":"Template Key"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum"},"style_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style Id"},"background_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Background Id"},"is_default":{"type":"boolean","title":"Is Default","default":false},"is_active":{"type":"boolean","title":"Is Active","default":true},"editor_definition_json":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Editor Definition Json","description":"Optional editor definition serialized as JSON string"}},"additionalProperties":false,"type":"object","required":["template_key","file","document_type_key"],"title":"CreateDocumentTemplateForm","description":"Fields accepted by the create_document_template endpoint."},"CreateDocumentTemplateVersionForm":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"style_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style Id"},"background_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Background Id"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"editor_definition_json":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Editor Definition Json","description":"Optional editor definition serialized as JSON string"}},"additionalProperties":false,"type":"object","required":["file"],"title":"CreateDocumentTemplateVersionForm","description":"Fields accepted by the create_document_template_version endpoint."},"CreateTenantRoleRequest":{"properties":{"role_key":{"type":"string","maxLength":120,"minLength":1,"title":"Role Key"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"description":{"type":"string","maxLength":500,"minLength":1,"title":"Description"}},"additionalProperties":false,"type":"object","required":["role_key","name","description"],"title":"CreateTenantRoleRequest","description":"Request payload for creating one custom tenant role."},"CsvImportField":{"properties":{"name":{"type":"string","title":"Name"},"position":{"type":"integer","minimum":1.0,"title":"Position"},"required":{"type":"boolean","title":"Required"},"required_when":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Required When"},"data_type":{"type":"string","title":"Data Type"},"max_length":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Length"},"allowed_values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Values"},"description":{"type":"string","title":"Description"},"empty_cell_behavior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Empty Cell Behavior"}},"type":"object","required":["name","position","required","data_type","description"],"title":"CsvImportField","description":"One field in a fixed-order CSV import contract."},"CsvImportSchemaResponse":{"properties":{"import_type":{"type":"string","title":"Import Type"},"fixed_column_order":{"type":"boolean","title":"Fixed Column Order","default":true},"header_validation":{"type":"string","const":"exact","title":"Header Validation","default":"exact"},"data_mapping":{"type":"string","const":"position","title":"Data Mapping","default":"position"},"allowed_delimiters":{"items":{"type":"string"},"type":"array","title":"Allowed Delimiters"},"allowed_encodings":{"items":{"type":"string"},"type":"array","title":"Allowed Encodings"},"fields":{"items":{"$ref":"#/components/schemas/CsvImportField"},"type":"array","title":"Fields"}},"type":"object","required":["import_type","allowed_delimiters","allowed_encodings","fields"],"title":"CsvImportSchemaResponse","description":"Machine-readable description of one fixed-order CSV import contract."},"Customer":{"properties":{"customer_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Number","description":"Customer number of the customer","examples":["456789"]},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number of the customer","examples":[1000]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the customer","examples":["Customer 1"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Internal note of the customer","examples":["Preferred contact via email"]},"invoice_grouping_override":{"anyOf":[{"$ref":"#/components/schemas/InvoiceGrouping"},{"type":"null"}],"description":"Optional invoice grouping override; null inherits the global billing setting"},"customer_group_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Group Id","description":"Customer group ID of the customer","examples":["027480d3-e7ca-47e4-b515-eb12c17d5fb2"]},"billcycle_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Billcycle Id","description":"Billcycle ID of the customer","examples":["1f68b834-6655-41ad-9b53-1cec389b9c46"]},"legal_form_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Legal Form Id","description":"Legal form ID of the customer","examples":["c31d65ec-d386-493e-ad46-773c403dc89d"]},"payment_target_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Payment Target Id","description":"Payment target ID of the customer","examples":["123e4567-e89b-12d3-a456-426614174000"]},"business_register":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Register","description":"Name of the business register, e.g. 'Handelsregister'","examples":["Handelsregister"]},"registercode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registercode","description":"Code of the register, e.g. 'HRB'","examples":["HRB"]},"registerplace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registerplace","description":"Place of the register, e.g. 'Berlin'","examples":["Berlin"]},"tax_identification_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Identification No","description":"Tax identification number, e.g. 'DE123456789'","examples":["DE123456789"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the customer","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"anonymized_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anonymized At","description":"UTC timestamp after irreversible customer master-data anonymization"},"payment_target":{"anyOf":[{"$ref":"#/components/schemas/PaymentTarget"},{"type":"null"}],"description":"Payment target of this customer"}},"type":"object","required":["customer_id","last_change"],"title":"Customer"},"CustomerAnonymizationBlocker":{"properties":{"code":{"type":"string","title":"Code"},"count":{"type":"integer","minimum":1.0,"title":"Count"}},"type":"object","required":["code","count"],"title":"CustomerAnonymizationBlocker"},"CustomerAnonymizationCheck":{"properties":{"eligible":{"type":"boolean","title":"Eligible"},"confirmation_kind":{"type":"string","enum":["customer_number","customer_id"],"title":"Confirmation Kind"},"blockers":{"items":{"$ref":"#/components/schemas/CustomerAnonymizationBlocker"},"type":"array","title":"Blockers"},"affected":{"$ref":"#/components/schemas/CustomerAnonymizationCounts"}},"type":"object","required":["eligible","confirmation_kind","blockers","affected"],"title":"CustomerAnonymizationCheck"},"CustomerAnonymizationCounts":{"properties":{"addresses":{"type":"integer","title":"Addresses","default":0},"contacts":{"type":"integer","title":"Contacts","default":0},"payments":{"type":"integer","title":"Payments","default":0},"notes":{"type":"integer","title":"Notes","default":0},"customer_attributes":{"type":"integer","title":"Customer Attributes","default":0},"service_attributes":{"type":"integer","title":"Service Attributes","default":0},"service_product_attributes":{"type":"integer","title":"Service Product Attributes","default":0},"extra_invoice_positions":{"type":"integer","title":"Extra Invoice Positions","default":0},"service_descriptions":{"type":"integer","title":"Service Descriptions","default":0},"service_product_texts":{"type":"integer","title":"Service Product Texts","default":0},"audit_entries":{"type":"integer","title":"Audit Entries","default":0},"audit_spool_entries":{"type":"integer","title":"Audit Spool Entries","default":0}},"type":"object","title":"CustomerAnonymizationCounts"},"CustomerAnonymizationRequest":{"properties":{"confirmation":{"type":"string","maxLength":100,"minLength":1,"title":"Confirmation","description":"Exact customer number, or customer UUID when no number exists"}},"additionalProperties":false,"type":"object","required":["confirmation"],"title":"CustomerAnonymizationRequest"},"CustomerAnonymizationResult":{"properties":{"customer_id":{"type":"string","format":"uuid4","title":"Customer Id"},"anonymized_at":{"type":"string","format":"date-time","title":"Anonymized At"},"affected":{"$ref":"#/components/schemas/CustomerAnonymizationCounts"}},"type":"object","required":["customer_id","anonymized_at","affected"],"title":"CustomerAnonymizationResult"},"CustomerAttribute":{"properties":{"customer_attribute_key_id":{"type":"string","format":"uuid4","title":"Customer Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"},"customer_attribute_id":{"type":"string","format":"uuid4","title":"Customer Attribute Id"},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["customer_attribute_key_id","customer_attribute_id","customer_id","last_change"],"title":"CustomerAttribute"},"CustomerAttributeCreate":{"properties":{"customer_attribute_key_id":{"type":"string","format":"uuid4","title":"Customer Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"}},"additionalProperties":false,"type":"object","required":["customer_attribute_key_id"],"title":"CustomerAttributeCreate"},"CustomerAttributeKey":{"properties":{"key":{"type":"string","title":"Key"},"value_type":{"type":"string","enum":["string","int","decimal","bool","date","datetime"],"title":"Value Type"},"is_required":{"type":"boolean","title":"Is Required"},"is_sensitive":{"type":"boolean","title":"Is Sensitive"},"is_unique_per_entity":{"type":"boolean","title":"Is Unique Per Entity"},"customer_attribute_key_id":{"type":"string","format":"uuid4","title":"Customer Attribute Key Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["key","value_type","is_required","is_sensitive","is_unique_per_entity","customer_attribute_key_id","last_change"],"title":"CustomerAttributeKey"},"CustomerAttributeKeyCreate":{"properties":{"key":{"type":"string","maxLength":100,"minLength":1,"title":"Key"},"value_type":{"type":"string","enum":["string","int","decimal","bool","date","datetime"],"title":"Value Type"},"is_required":{"type":"boolean","title":"Is Required","default":false},"is_sensitive":{"type":"boolean","title":"Is Sensitive","default":false},"is_unique_per_entity":{"type":"boolean","title":"Is Unique Per Entity","default":true}},"additionalProperties":false,"type":"object","required":["key","value_type"],"title":"CustomerAttributeKeyCreate"},"CustomerAttributeKeyListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/CustomerAttributeKey"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"CustomerAttributeKeyListResponse"},"CustomerAttributeKeyUpdate":{"properties":{"key":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Key"},"value_type":{"anyOf":[{"type":"string","enum":["string","int","decimal","bool","date","datetime"]},{"type":"null"}],"title":"Value Type"},"is_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Required"},"is_sensitive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Sensitive"},"is_unique_per_entity":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Unique Per Entity"}},"additionalProperties":false,"type":"object","title":"CustomerAttributeKeyUpdate"},"CustomerAttributeListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/CustomerAttributeResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"CustomerAttributeListResponse"},"CustomerAttributeResponse":{"properties":{"customer_attribute_key_id":{"type":"string","format":"uuid4","title":"Customer Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"},"customer_attribute_id":{"type":"string","format":"uuid4","title":"Customer Attribute Id"},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"attribute_key":{"$ref":"#/components/schemas/CustomerAttributeKey"}},"type":"object","required":["customer_attribute_key_id","customer_attribute_id","customer_id","last_change","attribute_key"],"title":"CustomerAttributeResponse"},"CustomerAttributeUpdate":{"properties":{"customer_attribute_key_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"}},"additionalProperties":false,"type":"object","title":"CustomerAttributeUpdate"},"CustomerContractTermsResponse":{"properties":{"contract_start_date":{"type":"string","format":"date","title":"Contract Start Date"},"earliest_termination_date":{"type":"string","format":"date","title":"Earliest Termination Date"}},"additionalProperties":false,"type":"object","required":["contract_start_date","earliest_termination_date"],"title":"CustomerContractTermsResponse","description":"Dates used to present the current WSE contract term."},"CustomerCreate":{"properties":{"customer_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Number","description":"Customer number of the customer","examples":["456789"]},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number of the customer","examples":[1000]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the customer","examples":["Customer 1"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Internal note of the customer","examples":["Preferred contact via email"]},"invoice_grouping_override":{"anyOf":[{"$ref":"#/components/schemas/InvoiceGrouping"},{"type":"null"}],"description":"Optional invoice grouping override; null inherits the global billing setting"},"customer_group_id":{"type":"string","format":"uuid4","title":"Customer Group Id","description":"Customer group ID of the customer","examples":["027480d3-e7ca-47e4-b515-eb12c17d5fb2"]},"billcycle_id":{"type":"string","format":"uuid4","title":"Billcycle Id","description":"Billcycle ID of the customer","examples":["1f68b834-6655-41ad-9b53-1cec389b9c46"]},"legal_form_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Legal Form Id","description":"Legal form ID of the customer","examples":["c31d65ec-d386-493e-ad46-773c403dc89d"]},"payment_target_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Payment Target Id","description":"Payment target ID of the customer","examples":["123e4567-e89b-12d3-a456-426614174000"]},"business_register":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Register","description":"Name of the business register, e.g. 'Handelsregister'","examples":["Handelsregister"]},"registercode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registercode","description":"Code of the register, e.g. 'HRB'","examples":["HRB"]},"registerplace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registerplace","description":"Place of the register, e.g. 'Berlin'","examples":["Berlin"]},"tax_identification_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Identification No","description":"Tax identification number, e.g. 'DE123456789'","examples":["DE123456789"]}},"additionalProperties":false,"type":"object","required":["customer_group_id","billcycle_id"],"title":"CustomerCreate"},"CustomerDetailResponse":{"properties":{"customer_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Number","description":"Customer number of the customer","examples":["456789"]},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number of the customer","examples":[1000]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the customer","examples":["Customer 1"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Internal note of the customer","examples":["Preferred contact via email"]},"invoice_grouping_override":{"anyOf":[{"$ref":"#/components/schemas/InvoiceGrouping"},{"type":"null"}],"description":"Optional invoice grouping override; null inherits the global billing setting"},"customer_group_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Group Id","description":"Customer group ID of the customer","examples":["027480d3-e7ca-47e4-b515-eb12c17d5fb2"]},"billcycle_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Billcycle Id","description":"Billcycle ID of the customer","examples":["1f68b834-6655-41ad-9b53-1cec389b9c46"]},"legal_form_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Legal Form Id","description":"Legal form ID of the customer","examples":["c31d65ec-d386-493e-ad46-773c403dc89d"]},"payment_target_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Payment Target Id","description":"Payment target ID of the customer","examples":["123e4567-e89b-12d3-a456-426614174000"]},"business_register":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Register","description":"Name of the business register, e.g. 'Handelsregister'","examples":["Handelsregister"]},"registercode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registercode","description":"Code of the register, e.g. 'HRB'","examples":["HRB"]},"registerplace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registerplace","description":"Place of the register, e.g. 'Berlin'","examples":["Berlin"]},"tax_identification_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Identification No","description":"Tax identification number, e.g. 'DE123456789'","examples":["DE123456789"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the customer","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"anonymized_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anonymized At","description":"UTC timestamp after irreversible customer master-data anonymization"},"payment_target":{"anyOf":[{"$ref":"#/components/schemas/PaymentTarget"},{"type":"null"}],"description":"Payment target of this customer"},"active_payment":{"type":"boolean","title":"Active Payment","description":"True when the customer currently has an active payment.","default":false,"examples":[true]},"addresses":{"anyOf":[{"items":{"$ref":"#/components/schemas/AddressResponse"},"type":"array"},{"type":"null"}],"title":"Addresses","description":"Addresses of this Customer"},"payments":{"anyOf":[{"items":{"$ref":"#/components/schemas/PaymentResponse"},"type":"array"},{"type":"null"}],"title":"Payments","description":"Payments of this Customer"},"customer_group":{"$ref":"#/components/schemas/CustomerGroup","description":"Customer group assigned to the customer"},"billcycle":{"$ref":"#/components/schemas/Billcycle","description":"Billing cycle associated with the customer"},"company_legal_form":{"anyOf":[{"$ref":"#/components/schemas/CompanyLegalForm"},{"type":"null"}],"description":"Legal form of the customer (optional)"},"services":{"anyOf":[{"items":{"$ref":"#/components/schemas/Service"},"type":"array"},{"type":"null"}],"title":"Services","description":"Services of this Customer"}},"type":"object","required":["customer_id","last_change","customer_group","billcycle"],"title":"CustomerDetailResponse"},"CustomerGroup":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the customer group","examples":["Customer Group 1"]},"customer_group_id":{"type":"string","format":"uuid4","title":"Customer Group Id","description":"Customer group ID of the customer group","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["customer_group_id","last_change"],"title":"CustomerGroup"},"CustomerGroupCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the customer group","examples":["Customer Group 1"]}},"additionalProperties":false,"type":"object","required":["description"],"title":"CustomerGroupCreate"},"CustomerGroupListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of customer groups in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/CustomerGroup"},"type":"array","title":"Items","description":"List of customer groups"}},"type":"object","required":["total_count","items"],"title":"CustomerGroupListResponse"},"CustomerGroupUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the customer group","examples":["Customer Group 1"]}},"additionalProperties":false,"type":"object","title":"CustomerGroupUpdate"},"CustomerImportSuccess":{"properties":{"status":{"type":"string","title":"Status","default":"accepted"},"total_rows":{"type":"integer","title":"Total Rows"},"created_customers":{"type":"integer","title":"Created Customers"},"updated_customers":{"type":"integer","title":"Updated Customers"},"created_addresses":{"type":"integer","title":"Created Addresses"},"updated_addresses":{"type":"integer","title":"Updated Addresses"},"created_contacts":{"type":"integer","title":"Created Contacts"},"updated_contacts":{"type":"integer","title":"Updated Contacts"},"created_payments":{"type":"integer","title":"Created Payments"},"updated_payments":{"type":"integer","title":"Updated Payments"}},"type":"object","required":["total_rows","created_customers","updated_customers","created_addresses","updated_addresses","created_contacts","updated_contacts","created_payments","updated_payments"],"title":"CustomerImportSuccess","description":"Structured success response for an accepted customer CSV import."},"CustomerListBillingAddress":{"properties":{"address_id":{"type":"string","format":"uuid4","title":"Address Id","description":"Address ID of the address","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID linked to the address","examples":["123e4567-e89b-12d3-a456-426614174001"]},"address_type_id":{"type":"string","format":"uuid4","title":"Address Type Id","description":"Address type of the customer","examples":["384d8fa9-a139-4aee-9db7-4d1801e53fa7"]},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street","description":"Street of the customer"},"house_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number","description":"House number of the customer"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition of the customer"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"City of the customer"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode","description":"Postcode of the customer"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District of the customer"},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Date from when the address is valid"},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Date until when the address is valid"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"address_type":{"$ref":"#/components/schemas/AddressType"},"primary_contact_data":{"anyOf":[{"$ref":"#/components/schemas/CustomerListPrimaryContact"},{"type":"null"}],"description":"Highest-priority active contact linked to this billing address"}},"type":"object","required":["address_id","customer_id","address_type_id","last_change","address_type"],"title":"CustomerListBillingAddress"},"CustomerListElement":{"properties":{"customer_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Number","description":"Customer number of the customer","examples":["456789"]},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number of the customer","examples":[1000]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the customer","examples":["Customer 1"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Internal note of the customer","examples":["Preferred contact via email"]},"invoice_grouping_override":{"anyOf":[{"$ref":"#/components/schemas/InvoiceGrouping"},{"type":"null"}],"description":"Optional invoice grouping override; null inherits the global billing setting"},"customer_group_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Group Id","description":"Customer group ID of the customer","examples":["027480d3-e7ca-47e4-b515-eb12c17d5fb2"]},"billcycle_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Billcycle Id","description":"Billcycle ID of the customer","examples":["1f68b834-6655-41ad-9b53-1cec389b9c46"]},"legal_form_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Legal Form Id","description":"Legal form ID of the customer","examples":["c31d65ec-d386-493e-ad46-773c403dc89d"]},"payment_target_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Payment Target Id","description":"Payment target ID of the customer","examples":["123e4567-e89b-12d3-a456-426614174000"]},"business_register":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Register","description":"Name of the business register, e.g. 'Handelsregister'","examples":["Handelsregister"]},"registercode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registercode","description":"Code of the register, e.g. 'HRB'","examples":["HRB"]},"registerplace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registerplace","description":"Place of the register, e.g. 'Berlin'","examples":["Berlin"]},"tax_identification_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Identification No","description":"Tax identification number, e.g. 'DE123456789'","examples":["DE123456789"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the customer","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"anonymized_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anonymized At","description":"UTC timestamp after irreversible customer master-data anonymization"},"payment_target":{"anyOf":[{"$ref":"#/components/schemas/PaymentTarget"},{"type":"null"}],"description":"Payment target of this customer"},"active_payment":{"type":"boolean","title":"Active Payment","description":"True when the customer currently has an active payment.","default":false,"examples":[true]},"customer_group":{"$ref":"#/components/schemas/CustomerGroup","description":"Customer group assigned to the customer"},"billcycle":{"$ref":"#/components/schemas/Billcycle","description":"Billing cycle associated with the customer"},"company_legal_form":{"anyOf":[{"$ref":"#/components/schemas/CompanyLegalForm"},{"type":"null"}],"description":"Legal form of the customer (optional)"},"active_billing_address":{"anyOf":[{"$ref":"#/components/schemas/CustomerListBillingAddress"},{"type":"null"}],"description":"Current active billing address including the highest-priority active contact"}},"type":"object","required":["customer_id","last_change","customer_group","billcycle"],"title":"CustomerListElement"},"CustomerListPrimaryContact":{"properties":{"contact_data_id":{"type":"string","format":"uuid4","title":"Contact Data Id","description":"Contact data ID of the customer","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"address_id":{"type":"string","format":"uuid4","title":"Address Id","description":"ID of the address as UUID foreign key","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"salutation_id":{"type":"string","format":"uuid4","title":"Salutation Id","description":"ID of the salutation as UUID foreign key","examples":["7f0b3f53-df0a-408b-903e-c61405b6cff2"]},"title_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Title Id","description":"ID of the title as UUID foreign key","examples":["cca9fe7b-e875-4a1f-b00a-e74231225807"]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name of the contact partner"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name of the contact partner"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company name to which the contact belongs"},"mail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mail","description":"Mail of the customer"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone","description":"Phone number of the customer"},"mobile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile","description":"Mobile number of the customer"},"birthday":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Birthday","description":"Birthday of the customer"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Note of the customer"},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority","description":"Rating of the priority in numbers. The higher the number, the higher the priority."},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Date from which the contact data is valid"},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Date until which the contact data is valid"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"salutation":{"$ref":"#/components/schemas/Salutation"},"title":{"anyOf":[{"$ref":"#/components/schemas/Title"},{"type":"null"}]}},"type":"object","required":["contact_data_id","address_id","salutation_id","last_change","salutation"],"title":"CustomerListPrimaryContact"},"CustomerListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of customers in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/CustomerListElement"},"type":"array","title":"Items","description":"List of customers"}},"type":"object","required":["total_count","items"],"title":"CustomerListResponse"},"CustomerServiceDetailResponse":{"properties":{"customer_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Number","description":"Customer number of the customer","examples":["456789"]},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number of the customer","examples":[1000]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the customer","examples":["Customer 1"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Internal note of the customer","examples":["Preferred contact via email"]},"invoice_grouping_override":{"anyOf":[{"$ref":"#/components/schemas/InvoiceGrouping"},{"type":"null"}],"description":"Optional invoice grouping override; null inherits the global billing setting"},"customer_group_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Group Id","description":"Customer group ID of the customer","examples":["027480d3-e7ca-47e4-b515-eb12c17d5fb2"]},"billcycle_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Billcycle Id","description":"Billcycle ID of the customer","examples":["1f68b834-6655-41ad-9b53-1cec389b9c46"]},"legal_form_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Legal Form Id","description":"Legal form ID of the customer","examples":["c31d65ec-d386-493e-ad46-773c403dc89d"]},"payment_target_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Payment Target Id","description":"Payment target ID of the customer","examples":["123e4567-e89b-12d3-a456-426614174000"]},"business_register":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Register","description":"Name of the business register, e.g. 'Handelsregister'","examples":["Handelsregister"]},"registercode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registercode","description":"Code of the register, e.g. 'HRB'","examples":["HRB"]},"registerplace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registerplace","description":"Place of the register, e.g. 'Berlin'","examples":["Berlin"]},"tax_identification_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Identification No","description":"Tax identification number, e.g. 'DE123456789'","examples":["DE123456789"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the customer","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"anonymized_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anonymized At","description":"UTC timestamp after irreversible customer master-data anonymization"},"payment_target":{"anyOf":[{"$ref":"#/components/schemas/PaymentTarget"},{"type":"null"}],"description":"Payment target of this customer"},"active_payment":{"type":"boolean","title":"Active Payment","description":"True when the customer currently has an active payment.","default":false,"examples":[true]},"addresses":{"anyOf":[{"items":{"$ref":"#/components/schemas/AddressResponse"},"type":"array"},{"type":"null"}],"title":"Addresses","description":"Addresses of this Customer"},"payments":{"anyOf":[{"items":{"$ref":"#/components/schemas/PaymentResponse"},"type":"array"},{"type":"null"}],"title":"Payments","description":"Payments of this Customer"},"customer_group":{"$ref":"#/components/schemas/CustomerGroup","description":"Customer group assigned to the customer"},"billcycle":{"$ref":"#/components/schemas/Billcycle","description":"Billing cycle associated with the customer"},"company_legal_form":{"anyOf":[{"$ref":"#/components/schemas/CompanyLegalForm"},{"type":"null"}],"description":"Legal form of the customer (optional)"},"service":{"$ref":"#/components/schemas/ServiceResponse","description":"Service of this Customer"}},"type":"object","required":["customer_id","last_change","customer_group","billcycle","service"],"title":"CustomerServiceDetailResponse"},"CustomerUpdate":{"properties":{"customer_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Number","description":"Customer number of the customer","examples":["456789"]},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number of the customer","examples":[1000]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the customer","examples":["Customer 1"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","description":"Internal note of the customer","examples":["Preferred contact via email"]},"invoice_grouping_override":{"anyOf":[{"$ref":"#/components/schemas/InvoiceGrouping"},{"type":"null"}],"description":"Optional invoice grouping override; null inherits the global billing setting"},"customer_group_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Group Id","description":"Customer group ID of the customer","examples":["027480d3-e7ca-47e4-b515-eb12c17d5fb2"]},"billcycle_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Billcycle Id","description":"Billcycle ID of the customer","examples":["1f68b834-6655-41ad-9b53-1cec389b9c46"]},"legal_form_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Legal Form Id","description":"Legal form ID of the customer","examples":["c31d65ec-d386-493e-ad46-773c403dc89d"]},"payment_target_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Payment Target Id","description":"Payment target ID of the customer","examples":["123e4567-e89b-12d3-a456-426614174000"]},"business_register":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Register","description":"Name of the business register, e.g. 'Handelsregister'","examples":["Handelsregister"]},"registercode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registercode","description":"Code of the register, e.g. 'HRB'","examples":["HRB"]},"registerplace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registerplace","description":"Place of the register, e.g. 'Berlin'","examples":["Berlin"]},"tax_identification_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Identification No","description":"Tax identification number, e.g. 'DE123456789'","examples":["DE123456789"]}},"additionalProperties":false,"type":"object","title":"CustomerUpdate"},"CustomerWithBillingAddress":{"properties":{"street":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Street","description":"Street of the customer","examples":["Musterstraße"]},"house_number":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"House Number","description":"House number of the customer","examples":["15"]},"house_number_addition":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"House Number Addition","description":"House number addition of the customer","examples":["A"]},"city":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"City","description":"City of the customer","examples":["Musterstadt"]},"postcode":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Postcode","description":"Postcode of the customer","examples":["24768"]},"district":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"District","description":"District of the customer","examples":["Musterbezirk"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id"}},"type":"object","required":["customer_id"],"title":"CustomerWithBillingAddress"},"CycleType":{"type":"string","enum":["once","monthly","quarterly","half_yearly","yearly"],"title":"CycleType"},"DashboardConfiguration":{"properties":{"version":{"type":"integer","const":1,"title":"Version","default":1},"period":{"anyOf":[{"$ref":"#/components/schemas/ReportPeriod"},{"type":"null"}]},"widgets":{"items":{"$ref":"#/components/schemas/DashboardWidget"},"type":"array","maxItems":20,"title":"Widgets"}},"additionalProperties":false,"type":"object","title":"DashboardConfiguration"},"DashboardCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"pattern":"\\S","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"visibility":{"type":"string","enum":["private","shared"],"title":"Visibility","default":"private"},"configuration":{"$ref":"#/components/schemas/DashboardConfiguration"}},"additionalProperties":false,"type":"object","required":["name","configuration"],"title":"DashboardCreate"},"DashboardList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DashboardResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Next Cursor"}},"additionalProperties":false,"type":"object","required":["items"],"title":"DashboardList"},"DashboardResponse":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"pattern":"\\S","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"visibility":{"type":"string","enum":["private","shared"],"title":"Visibility","default":"private"},"configuration":{"$ref":"#/components/schemas/DashboardConfiguration"},"revision":{"type":"integer","minimum":1.0,"title":"Revision"},"dashboard_id":{"type":"string","format":"uuid","title":"Dashboard Id"},"owner_actor_id":{"type":"string","format":"uuid","title":"Owner Actor Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"additionalProperties":false,"type":"object","required":["name","configuration","revision","dashboard_id","owner_actor_id","created_at","updated_at"],"title":"DashboardResponse"},"DashboardUpdate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"pattern":"\\S","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"visibility":{"type":"string","enum":["private","shared"],"title":"Visibility","default":"private"},"configuration":{"$ref":"#/components/schemas/DashboardConfiguration"},"revision":{"type":"integer","minimum":1.0,"title":"Revision"}},"additionalProperties":false,"type":"object","required":["name","configuration","revision"],"title":"DashboardUpdate"},"DashboardWidget":{"properties":{"id":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$","title":"Id"},"query_id":{"type":"string","format":"uuid","title":"Query Id"},"x":{"type":"integer","maximum":11.0,"minimum":0.0,"title":"X","default":0},"y":{"type":"integer","maximum":1000.0,"minimum":0.0,"title":"Y","default":0},"w":{"type":"integer","maximum":12.0,"minimum":3.0,"title":"W","default":6},"h":{"type":"integer","maximum":20.0,"minimum":3.0,"title":"H","default":5},"use_dashboard_period":{"type":"boolean","title":"Use Dashboard Period","default":true},"period_field":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},{"type":"null"}],"title":"Period Field"}},"additionalProperties":false,"type":"object","required":["id","query_id"],"title":"DashboardWidget"},"DatasetDescription":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"keys":{"items":{"type":"string"},"type":"array","title":"Keys"},"fields":{"items":{"$ref":"#/components/schemas/ColumnDescription"},"type":"array","title":"Fields"},"required_permissions":{"items":{"type":"string"},"type":"array","title":"Required Permissions"},"required_license_options":{"items":{"type":"string"},"type":"array","title":"Required License Options"}},"additionalProperties":false,"type":"object","required":["name","description","keys","fields","required_permissions","required_license_options"],"title":"DatasetDescription"},"DatevAffectedElement":{"properties":{"name":{"type":"string","maxLength":200,"title":"Name"},"reason":{"type":"string","maxLength":500,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["name","reason"],"title":"DatevAffectedElement"},"DatevExportRunCreate":{"properties":{"export_year":{"type":"integer","maximum":2100.0,"minimum":2000.0,"title":"Export Year","description":"Export year"},"export_month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Export Month","description":"Export month (1-12)"}},"additionalProperties":false,"type":"object","required":["export_year","export_month"],"title":"DatevExportRunCreate"},"DatevExportRunQueuedResponse":{"properties":{"message":{"type":"string","title":"Message"},"datev_export_run_id":{"type":"string","format":"uuid4","title":"Datev Export Run Id"}},"type":"object","required":["message","datev_export_run_id"],"title":"DatevExportRunQueuedResponse"},"DatevExportRunResponse":{"properties":{"datev_export_run_id":{"type":"string","format":"uuid4","title":"Datev Export Run Id"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"heartbeat_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Heartbeat At"},"status":{"$ref":"#/components/schemas/DatevExportRunStatus"},"export_year":{"type":"integer","title":"Export Year"},"export_month":{"type":"integer","title":"Export Month"},"export_period_start":{"type":"string","format":"date","title":"Export Period Start"},"export_period_end":{"type":"string","format":"date","title":"Export Period End"},"total_documents":{"type":"integer","title":"Total Documents"},"processed_documents":{"type":"integer","title":"Processed Documents"},"failed_documents":{"type":"integer","title":"Failed Documents"},"documents_zip_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Documents Zip Filename"},"data_zip_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Zip Filename"},"documents_zip_available":{"type":"boolean","title":"Documents Zip Available","default":false},"data_zip_available":{"type":"boolean","title":"Data Zip Available","default":false},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"expired_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expired Date","description":"Calculated expiration date of the export archives.","readOnly":true}},"type":"object","required":["datev_export_run_id","start_date","status","export_year","export_month","export_period_start","export_period_end","total_documents","processed_documents","failed_documents","expired_date"],"title":"DatevExportRunResponse"},"DatevExportRunStatus":{"type":"string","enum":["pending","running","finished","failed"],"title":"DatevExportRunStatus"},"DatevProviderError":{"properties":{"title":{"type":"string","maxLength":300,"title":"Title"},"detail":{"type":"string","maxLength":2000,"title":"Detail"},"help_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Help Url"},"affected_elements":{"items":{"$ref":"#/components/schemas/DatevAffectedElement"},"type":"array","maxItems":30,"title":"Affected Elements"}},"additionalProperties":false,"type":"object","required":["title","detail"],"title":"DatevProviderError"},"DatevSettingsResponse":{"properties":{"consultant_number":{"type":"string","title":"Consultant Number"},"client_number":{"type":"string","title":"Client Number"},"version":{"type":"integer","minimum":0.0,"title":"Version"}},"additionalProperties":false,"type":"object","required":["consultant_number","client_number","version"],"title":"DatevSettingsResponse"},"DatevSettingsUpdate":{"properties":{"consultant_number":{"type":"string","pattern":"^(?:[1-9]\\d{3,6})?$","title":"Consultant Number"},"client_number":{"type":"string","pattern":"^(?:[1-9]\\d{0,4})?$","title":"Client Number"},"version":{"type":"integer","minimum":0.0,"title":"Version"}},"additionalProperties":false,"type":"object","required":["consultant_number","client_number","version"],"title":"DatevSettingsUpdate"},"DatevUserSettings":{"properties":{"beraternummer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Beraternummer","description":"Optional DATEV adviser number"},"mandantennummer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mandantennummer","description":"Optional DATEV client number"}},"additionalProperties":false,"type":"object","title":"DatevUserSettings"},"DeploymentComponentStatus":{"properties":{"status":{"type":"string","enum":["ready","not_ready"],"title":"Status"},"code":{"type":"string","enum":["ready","database_unavailable","license_unavailable","storage_unavailable","check_timeout"],"title":"Code"}},"additionalProperties":false,"type":"object","required":["status","code"],"title":"DeploymentComponentStatus","description":"Expose fixed status codes without dependency details."},"DeploymentHealthResponse":{"properties":{"status":{"type":"string","enum":["ready","not_ready"],"title":"Status"},"database":{"$ref":"#/components/schemas/DeploymentComponentStatus"},"license":{"$ref":"#/components/schemas/DeploymentComponentStatus"},"storage":{"$ref":"#/components/schemas/DeploymentComponentStatus"}},"additionalProperties":false,"type":"object","required":["status","database","license","storage"],"title":"DeploymentHealthResponse","description":"Deployment acceptance, separate from Kubernetes pod readiness."},"DisplayDateFormat":{"type":"string","enum":["DD.MM.YYYY","YYYY-MM-DD"],"title":"DisplayDateFormat","description":"Supported user-facing date display formats."},"DisplaySettings":{"properties":{"date_format":{"$ref":"#/components/schemas/DisplayDateFormat","description":"Date format used for user-facing document rendering","default":"DD.MM.YYYY","examples":["DD.MM.YYYY"]}},"additionalProperties":false,"type":"object","title":"DisplaySettings"},"DocumentBackgroundListItem":{"properties":{"background_id":{"type":"string","format":"uuid4","title":"Background Id"},"background_key":{"type":"string","title":"Background Key"},"source_type":{"$ref":"#/components/schemas/DocumentBackgroundSourceTypeEnum"},"style_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Style Id"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"style":{"anyOf":[{"$ref":"#/components/schemas/StyleSummary"},{"type":"null"}],"description":"Style assigned to an HTML background"},"preview_available":{"type":"boolean","title":"Preview Available","description":"If true, this background has an active source file that can be rendered through the preview endpoint","default":false}},"type":"object","required":["background_id","background_key","source_type","is_active","last_change"],"title":"DocumentBackgroundListItem","description":"Document background representation used in list responses."},"DocumentBackgroundListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of document backgrounds"},"items":{"items":{"$ref":"#/components/schemas/DocumentBackgroundListItem"},"type":"array","title":"Items","description":"List of document backgrounds"}},"type":"object","required":["total_count","items"],"title":"DocumentBackgroundListResponse","description":"Paginated document background list response."},"DocumentBackgroundPreviewRequest":{"properties":{"render_payload":{"anyOf":[{"$ref":"#/components/schemas/CommonDocumentRenderData"},{"type":"null"}],"description":"Required render payload for HTML backgrounds; ignored for PDF backgrounds"}},"additionalProperties":false,"type":"object","title":"DocumentBackgroundPreviewRequest","description":"Request payload for rendering one document background preview."},"DocumentBackgroundResponse":{"properties":{"background_id":{"type":"string","format":"uuid4","title":"Background Id"},"background_key":{"type":"string","title":"Background Key"},"source_type":{"$ref":"#/components/schemas/DocumentBackgroundSourceTypeEnum"},"style_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Style Id"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"style":{"anyOf":[{"$ref":"#/components/schemas/StyleSummary"},{"type":"null"}],"description":"Style assigned to an HTML background"},"preview_available":{"type":"boolean","title":"Preview Available","description":"If true, this background has an active source file that can be rendered through the preview endpoint","default":false},"active_storage_object":{"anyOf":[{"$ref":"#/components/schemas/StorageObject"},{"type":"null"}],"description":"Currently active background source file"}},"type":"object","required":["background_id","background_key","source_type","is_active","last_change"],"title":"DocumentBackgroundResponse","description":"Detailed document background response."},"DocumentBackgroundSourceTypeEnum":{"type":"string","enum":["html","pdf"],"title":"DocumentBackgroundSourceTypeEnum","description":"Supported source types for document background layers."},"DocumentBackgroundSummary":{"properties":{"background_id":{"type":"string","format":"uuid4","title":"Background Id"},"background_key":{"type":"string","title":"Background Key"},"source_type":{"$ref":"#/components/schemas/DocumentBackgroundSourceTypeEnum"},"style_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Style Id"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["background_id","background_key","source_type","is_active","last_change"],"title":"DocumentBackgroundSummary","description":"Compact document background representation."},"DocumentCreate":{"properties":{"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum","description":"Fixed document type that should be generated"},"template_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Template Id","description":"Optional explicit template ID. If omitted, the active default template of the type is used"},"source_document_id":{"type":"string","format":"uuid4","title":"Source Document Id","description":"ID of the commercial core document used to resolve the rendering context"},"display_name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Display Name","description":"Optional display name of the generated document"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description","description":"Optional description of the generated document"},"document_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Document Date","description":"Optional business date stored on the generated document metadata","examples":["2026-03-18"]}},"additionalProperties":false,"type":"object","required":["document_type_key","source_document_id"],"title":"DocumentCreate"},"DocumentListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of documents"},"items":{"items":{"$ref":"#/components/schemas/DocumentResponse"},"type":"array","title":"Items","description":"List of documents"}},"type":"object","required":["total_count","items"],"title":"DocumentListResponse"},"DocumentNumberSettings":{"properties":{"prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prefix","description":"Prefix for the document number","examples":["2023"]},"separator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Separator","description":"Separator for the document number","examples":["-"]},"initial_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Initial Number","description":"Initial number for the document sequence","examples":[10000]}},"additionalProperties":false,"type":"object","title":"DocumentNumberSettings"},"DocumentNumberingSettings":{"properties":{"invoice":{"anyOf":[{"$ref":"#/components/schemas/DocumentNumberSettings"},{"type":"null"}],"description":"Settings for invoice numbering"},"quotation":{"anyOf":[{"$ref":"#/components/schemas/DocumentNumberSettings"},{"type":"null"}],"description":"Settings for quotation numbering"},"order_confirmation":{"anyOf":[{"$ref":"#/components/schemas/DocumentNumberSettings"},{"type":"null"}],"description":"Settings for order confirmation numbering"},"self_billing_invoice":{"anyOf":[{"$ref":"#/components/schemas/DocumentNumberSettings"},{"type":"null"}],"description":"Settings for self-billing invoice numbering"},"corrective_invoice":{"anyOf":[{"$ref":"#/components/schemas/DocumentNumberSettings"},{"type":"null"}],"description":"Settings for corrective invoice numbering"},"payment_reminder":{"anyOf":[{"$ref":"#/components/schemas/DocumentNumberSettings"},{"type":"null"}],"description":"Settings for payment reminder numbering"}},"additionalProperties":false,"type":"object","title":"DocumentNumberingSettings"},"DocumentRenderMeta":{"properties":{"template_id":{"type":"string","format":"uuid4","title":"Template Id","description":"Template ID used to generate the document"},"template_key":{"type":"string","title":"Template Key","description":"Template key used to render the document"},"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum","description":"Fixed document type of the generated document"},"display_name":{"type":"string","title":"Display Name","description":"Resolved display name of the generated document"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Optional description of the generated document"},"document_date":{"type":"string","format":"date","title":"Document Date","description":"Resolved business date of the generated document"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By","description":"Username or technical actor who created the document"}},"additionalProperties":false,"type":"object","required":["template_id","template_key","document_type_key","display_name","document_date"],"title":"DocumentRenderMeta"},"DocumentResponse":{"properties":{"document_id":{"type":"string","format":"uuid4","title":"Document Id","description":"Document ID"},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the document"},"service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id","description":"Optional service ID of the document"},"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum","description":"Fixed technical key of the generated document type"},"source_document_id":{"type":"string","format":"uuid4","title":"Source Document Id","description":"Source commercial document ID used during generation"},"source_document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum","description":"Source commercial document type key"},"has_embedded_xml":{"type":"boolean","title":"Has Embedded Xml","description":"If true, the generated PDF contains an embedded XML attachment"},"embedded_xml_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Embedded Xml Filename","description":"Filename of the embedded XML attachment if present"},"is_einvoice_conform":{"type":"boolean","title":"Is Einvoice Conform","description":"If true, the generated document fulfills the additional e-invoice conformance checks"},"template_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Template Id","description":"Template ID used to generate the document"},"display_name":{"type":"string","title":"Display Name","description":"Display name of the document shown in the UI"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Optional description of the document"},"document_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Document Date","description":"Business date of the document"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By","description":"Username or technical actor who created the document"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"template":{"anyOf":[{"$ref":"#/components/schemas/TemplateSummary"},{"type":"null"}],"description":"Template used to generate the document"},"active_storage_object":{"anyOf":[{"$ref":"#/components/schemas/StorageObject"},{"type":"null"}],"description":"Currently active PDF storage object of the document"},"render_manifest_storage_object":{"anyOf":[{"$ref":"#/components/schemas/StorageObject"},{"type":"null"}],"description":"Stored JSON artifact describing the exact template, style and asset inputs used during rendering"},"render_manifest":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Render Manifest","description":"Decoded render dependency snapshot of the generated document"},"has_active_file":{"type":"boolean","title":"Has Active File","description":"If true, an active PDF file is available for preview or download"},"has_xml_file":{"type":"boolean","title":"Has Xml File","description":"If true, a separately stored XML file is available for preview or download"},"has_render_manifest":{"type":"boolean","title":"Has Render Manifest","description":"If true, a persisted render dependency snapshot is available"}},"type":"object","required":["document_id","customer_id","document_type_key","source_document_id","source_document_type_key","has_embedded_xml","is_einvoice_conform","display_name","last_change","has_active_file","has_xml_file","has_render_manifest"],"title":"DocumentResponse"},"DocumentTypeEnum":{"type":"string","enum":["invoice","corrective_invoice","order_confirmation","quotation","self_billing_invoice","payment_reminder"],"title":"DocumentTypeEnum","description":"Supported fixed business document types."},"DocumentTypesResponse":{"properties":{"document_types":{"items":{"type":"string"},"type":"array","title":"Document Types"}},"additionalProperties":false,"type":"object","required":["document_types"],"title":"DocumentTypesResponse"},"EditorDefinition":{"properties":{"schema_version":{"type":"string","maxLength":50,"minLength":1,"title":"Schema Version"},"editor_kind":{"type":"string","maxLength":100,"minLength":1,"title":"Editor Kind"},"state":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"State","description":"Opaque editor state for lossless frontend roundtrips"}},"additionalProperties":false,"type":"object","required":["schema_version","editor_kind"],"title":"EditorDefinition"},"EinvoiceSettings":{"properties":{"business_process_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Process Id","description":"Business process identifier (BT-23 / ProfileID) used for e-invoices"},"specification_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Specification Identifier","description":"Specification identifier (BT-24) used for e-invoices"}},"additionalProperties":false,"type":"object","title":"EinvoiceSettings"},"ExtraInvoicePositionImportSuccess":{"properties":{"status":{"type":"string","title":"Status","default":"accepted"},"total_rows":{"type":"integer","title":"Total Rows"},"imported_rows":{"type":"integer","title":"Imported Rows"}},"type":"object","required":["total_rows","imported_rows"],"title":"ExtraInvoicePositionImportSuccess"},"ExtraInvoicePositionListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/ExtraInvoicePositionResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"ExtraInvoicePositionListResponse"},"ExtraInvoicePositionResponse":{"properties":{"extra_invoice_position_id":{"type":"string","format":"uuid4","title":"Extra Invoice Position Id"},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id"},"product_id":{"type":"string","format":"uuid4","title":"Product Id"},"billing_month":{"type":"integer","title":"Billing Month"},"billing_year":{"type":"integer","title":"Billing Year"},"quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Quantity","examples":["100.00"]},"unit_net_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Unit Net Price","examples":["100.00"]},"external_reference":{"type":"string","title":"External Reference"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/ExtraInvoicePositionStatus"},"invoice_run_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Invoice Run Id"},"invoice_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Invoice Id"},"invoice_position_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Invoice Position Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"processed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Processed At"},"customer":{"$ref":"#/components/schemas/Customer"},"product":{"$ref":"#/components/schemas/ProductCompactResponse"}},"type":"object","required":["extra_invoice_position_id","customer_id","product_id","billing_month","billing_year","quantity","unit_net_price","external_reference","status","created_at","customer","product"],"title":"ExtraInvoicePositionResponse"},"ExtraInvoicePositionStatus":{"type":"string","enum":["pending","processed"],"title":"ExtraInvoicePositionStatus"},"ExtraInvoicePositionUpdate":{"properties":{"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"},"product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Id"},"billing_month":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Billing Month"},"billing_year":{"anyOf":[{"type":"integer","maximum":2100.0,"minimum":2000.0},{"type":"null"}],"title":"Billing Year"},"quantity":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Quantity"},"unit_net_price":{"anyOf":[{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Unit Net Price"},"external_reference":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"External Reference"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"additionalProperties":false,"type":"object","title":"ExtraInvoicePositionUpdate"},"FieldOperand":{"properties":{"kind":{"type":"string","const":"field","title":"Kind","default":"field"},"field":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$","title":"Field"},"transform":{"anyOf":[{"type":"string","enum":["tolower","toupper"]},{"type":"null"}],"title":"Transform"}},"additionalProperties":false,"type":"object","required":["field"],"title":"FieldOperand"},"Grouping":{"properties":{"field":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$","title":"Field"},"granularity":{"anyOf":[{"type":"string","enum":["year","month","day"]},{"type":"null"}],"title":"Granularity"},"alias":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},{"type":"null"}],"title":"Alias"}},"additionalProperties":false,"type":"object","required":["field"],"title":"Grouping"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthReadyResponse":{"properties":{"status":{"type":"string","const":"ready","title":"Status","default":"ready"},"license":{"$ref":"#/components/schemas/LicenseReadinessStatus"}},"additionalProperties":false,"type":"object","required":["license"],"title":"HealthReadyResponse","description":"Successful application-readiness response."},"IdentifierSchemeSettings":{"properties":{"seller_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Identifier","description":"Fixed seller identifier scheme ID"},"legal_registration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Registration","description":"Fixed legal registration scheme ID"},"electronic_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Electronic Address","description":"Fixed electronic address scheme ID"}},"additionalProperties":false,"type":"object","title":"IdentifierSchemeSettings"},"ImportCashbookCsvEndpointForm":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"has_header":{"type":"boolean","title":"Has Header"},"encoding":{"type":"string","title":"Encoding","default":"utf-8"},"delimiter":{"type":"string","title":"Delimiter","default":","}},"additionalProperties":false,"type":"object","required":["file","has_header"],"title":"ImportCashbookCsvEndpointForm","description":"Fields accepted by the import_cashbook_csv_endpoint endpoint."},"ImportCashbookDsfinvkEndpointForm":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"default_offset_account_no":{"type":"string","title":"Default Offset Account No"},"default_tax_key":{"type":"string","title":"Default Tax Key"},"default_tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Default Tax Rate","default":"0.00"}},"additionalProperties":false,"type":"object","required":["file","default_offset_account_no","default_tax_key"],"title":"ImportCashbookDsfinvkEndpointForm","description":"Fields accepted by the import_cashbook_dsfinvk_endpoint endpoint."},"ImportCustomersForm":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"has_header":{"type":"boolean","title":"Has Header"},"encoding":{"type":"string","title":"Encoding","default":"utf-8"},"delimiter":{"type":"string","title":"Delimiter","default":","}},"additionalProperties":false,"type":"object","required":["file","has_header"],"title":"ImportCustomersForm","description":"Fields accepted by the import_customers endpoint."},"ImportExtraInvoicePositionsForm":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"has_header":{"type":"boolean","title":"Has Header"},"encoding":{"type":"string","title":"Encoding"},"delimiter":{"type":"string","title":"Delimiter"}},"additionalProperties":false,"type":"object","required":["file","has_header","encoding","delimiter"],"title":"ImportExtraInvoicePositionsForm","description":"Fields accepted by the import_extra_invoice_positions endpoint."},"ImportLimitSettings":{"properties":{"max_extra_invoice_position_import_rows":{"type":"integer","minimum":1.0,"title":"Max Extra Invoice Position Import Rows","description":"Maximum number of rows allowed in one extra invoice position import"},"max_extra_invoice_position_import_file_size_mb":{"type":"integer","minimum":1.0,"title":"Max Extra Invoice Position Import File Size Mb","description":"Maximum file size in megabytes allowed for one extra invoice position import"},"max_product_import_rows":{"type":"integer","minimum":1.0,"title":"Max Product Import Rows","description":"Maximum number of rows allowed in one product import"},"max_product_import_file_size_mb":{"type":"integer","minimum":1.0,"title":"Max Product Import File Size Mb","description":"Maximum file size in megabytes allowed for one product import"},"max_customer_import_rows":{"type":"integer","minimum":1.0,"title":"Max Customer Import Rows","description":"Maximum number of rows allowed in one customer import"},"max_customer_import_file_size_mb":{"type":"integer","minimum":1.0,"title":"Max Customer Import File Size Mb","description":"Maximum file size in megabytes allowed for one customer import"},"max_returned_import_errors":{"type":"integer","minimum":1.0,"title":"Max Returned Import Errors","description":"Maximum number of row-level import errors returned in one response"}},"additionalProperties":false,"type":"object","required":["max_extra_invoice_position_import_rows","max_extra_invoice_position_import_file_size_mb","max_product_import_rows","max_product_import_file_size_mb","max_customer_import_rows","max_customer_import_file_size_mb","max_returned_import_errors"],"title":"ImportLimitSettings"},"ImportProductsForm":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"has_header":{"type":"boolean","title":"Has Header"},"encoding":{"type":"string","title":"Encoding","default":"utf-8"},"delimiter":{"type":"string","title":"Delimiter","default":","}},"additionalProperties":false,"type":"object","required":["file","has_header"],"title":"ImportProductsForm","description":"Fields accepted by the import_products endpoint."},"IntegrationConfiguration-Input":{"properties":{"account_length":{"type":"integer","maximum":8.0,"minimum":4.0,"title":"Account Length"},"fiscal_year_month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Fiscal Year Month","default":1},"fiscal_year_day":{"type":"integer","maximum":28.0,"minimum":1.0,"title":"Fiscal Year Day","default":1},"chart":{"type":"string","pattern":"^\\d{2}$","title":"Chart"},"rules":{"items":{"$ref":"#/components/schemas/PostingRule-Input"},"type":"array","maxItems":1000,"title":"Rules"},"document_types":{"additionalProperties":{"type":"string","maxLength":30,"minLength":1},"propertyNames":{"enum":["invoice","corrective_invoice","self_billing_invoice"]},"type":"object","title":"Document Types"}},"additionalProperties":false,"type":"object","required":["account_length","chart","rules"],"title":"IntegrationConfiguration"},"IntegrationConfiguration-Output":{"properties":{"account_length":{"type":"integer","maximum":8.0,"minimum":4.0,"title":"Account Length"},"fiscal_year_month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Fiscal Year Month","default":1},"fiscal_year_day":{"type":"integer","maximum":28.0,"minimum":1.0,"title":"Fiscal Year Day","default":1},"chart":{"type":"string","pattern":"^\\d{2}$","title":"Chart"},"rules":{"items":{"$ref":"#/components/schemas/PostingRule-Output"},"type":"array","maxItems":1000,"title":"Rules"},"document_types":{"additionalProperties":{"type":"string","maxLength":30,"minLength":1},"propertyNames":{"enum":["invoice","corrective_invoice","self_billing_invoice"]},"type":"object","title":"Document Types"}},"additionalProperties":false,"type":"object","required":["account_length","chart","rules"],"title":"IntegrationConfiguration"},"InvoiceCommitRequest":{"properties":{"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"}},"additionalProperties":false,"type":"object","required":["invoice_id"],"title":"InvoiceCommitRequest"},"InvoiceCommitResponse":{"properties":{"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"invoice_no":{"type":"integer","title":"Invoice No"},"invoice_prefix":{"type":"string","title":"Invoice Prefix"}},"type":"object","required":["invoice_id","invoice_no","invoice_prefix"],"title":"InvoiceCommitResponse"},"InvoiceCreate":{"properties":{"invoice_date":{"type":"string","format":"date","title":"Invoice Date","description":"Invoice date","examples":["2024-01-01"]},"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"positions":{"items":{"$ref":"#/components/schemas/InvoicePositionCreate"},"type":"array","title":"Positions"}},"additionalProperties":false,"type":"object","required":["invoice_date","service_date","due_date","street","house_number","postcode","city","positions"],"title":"InvoiceCreate"},"InvoiceDocumentRunCreate":{"properties":{"invoice_run_id":{"type":"string","format":"uuid4","title":"Invoice Run Id","description":"Invoice run whose invoices should be turned into documents"}},"additionalProperties":false,"type":"object","required":["invoice_run_id"],"title":"InvoiceDocumentRunCreate"},"InvoiceDocumentRunQueuedResponse":{"properties":{"message":{"type":"string","title":"Message"},"invoice_document_run_id":{"type":"string","format":"uuid4","title":"Invoice Document Run Id"}},"type":"object","required":["message","invoice_document_run_id"],"title":"InvoiceDocumentRunQueuedResponse"},"InvoiceDocumentRunResponse":{"properties":{"invoice_document_run_id":{"type":"string","format":"uuid4","title":"Invoice Document Run Id"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"heartbeat_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Heartbeat At"},"status":{"$ref":"#/components/schemas/InvoiceDocumentRunStatus"},"invoice_run_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Invoice Run Id"},"total_invoices":{"type":"integer","title":"Total Invoices"},"processed_invoices":{"type":"integer","title":"Processed Invoices"},"failed_invoices":{"type":"integer","title":"Failed Invoices"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","required":["invoice_document_run_id","start_date","status","total_invoices","processed_invoices","failed_invoices"],"title":"InvoiceDocumentRunResponse"},"InvoiceDocumentRunStatus":{"type":"string","enum":["pending","running","finished","failed"],"title":"InvoiceDocumentRunStatus"},"InvoiceFromInvoiceRequest":{"properties":{"invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Invoice Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"}},"additionalProperties":false,"type":"object","required":["invoice_id"],"title":"InvoiceFromInvoiceRequest"},"InvoiceFromOrderConfirmationRequest":{"properties":{"invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Invoice Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"order_confirmation_id":{"type":"string","format":"uuid4","title":"Order Confirmation Id"}},"additionalProperties":false,"type":"object","required":["order_confirmation_id"],"title":"InvoiceFromOrderConfirmationRequest"},"InvoiceFromQuotationRequest":{"properties":{"invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Invoice Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"quotation_id":{"type":"string","format":"uuid4","title":"Quotation Id"}},"additionalProperties":false,"type":"object","required":["quotation_id"],"title":"InvoiceFromQuotationRequest"},"InvoiceGrouping":{"type":"string","enum":["by_customer","by_service"],"title":"InvoiceGrouping"},"InvoiceIdResponse":{"properties":{"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"}},"type":"object","required":["invoice_id"],"title":"InvoiceIdResponse"},"InvoiceListItem":{"properties":{"invoice_date":{"type":"string","format":"date","title":"Invoice Date","description":"Invoice date","examples":["2024-01-01"]},"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"invoice_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invoice No"},"invoice_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Prefix"},"status":{"$ref":"#/components/schemas/InvoiceStatus"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/LinkedDocumentSummary"},{"type":"null"}]}},"type":"object","required":["invoice_date","service_date","due_date","street","house_number","postcode","city","invoice_id","status"],"title":"InvoiceListItem"},"InvoiceListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/InvoiceListItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"InvoiceListResponse"},"InvoicePositionCreate":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Price","examples":["100.00"]},"tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Rate","examples":["100.00"]},"product_count":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"}},"additionalProperties":false,"type":"object","required":["product_text","net_price","tax_rate","product_count"],"title":"InvoicePositionCreate"},"InvoicePositionDetailed":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Net Price","examples":["100.00"]},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Tax Rate","examples":["100.00"]},"product_count":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"},"product_number_snapshot":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number Snapshot","description":"Product number snapshot captured when the position was created"},"product_group_name_snapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Group Name Snapshot","description":"Product group name snapshot captured when the position was created"},"invoice_position_id":{"type":"string","format":"uuid4","title":"Invoice Position Id"},"position":{"type":"integer","title":"Position"},"full_price_net":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Net"},"full_price_gross":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Gross"},"tax":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax"}},"type":"object","required":["product_text","net_price","tax_rate","product_count","invoice_position_id","position"],"title":"InvoicePositionDetailed"},"InvoicePositionUpdate":{"properties":{"product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Net Price"},"tax_rate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Tax Rate"},"product_count":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Product Count"},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id"}},"additionalProperties":false,"type":"object","title":"InvoicePositionUpdate"},"InvoiceProposalCreate":{"properties":{"month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Month"},"year":{"type":"integer","title":"Year"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"label":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Label"},"customer_groups":{"anyOf":[{"items":{"type":"string","format":"uuid4"},"type":"array"},{"type":"null"}],"title":"Customer Groups"},"billcycles":{"anyOf":[{"items":{"type":"string","format":"uuid4"},"type":"array"},{"type":"null"}],"title":"Billcycles"}},"additionalProperties":false,"type":"object","required":["month","year"],"title":"InvoiceProposalCreate"},"InvoiceResponse":{"properties":{"invoice_date":{"type":"string","format":"date","title":"Invoice Date","description":"Invoice date","examples":["2024-01-01"]},"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"invoice_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invoice No"},"invoice_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Prefix"},"status":{"$ref":"#/components/schemas/InvoiceStatus"},"positions":{"items":{"$ref":"#/components/schemas/InvoicePositionDetailed"},"type":"array","title":"Positions"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/DocumentResponse"},{"type":"null"}]}},"type":"object","required":["invoice_date","service_date","due_date","street","house_number","postcode","city","invoice_id","status","positions"],"title":"InvoiceResponse"},"InvoiceRunStatus":{"type":"string","enum":["pending","finished","running","failed"],"title":"InvoiceRunStatus"},"InvoiceRunsResponse":{"properties":{"invoice_run_id":{"type":"string","format":"uuid4","title":"Invoice Run Id"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"heartbeat_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Heartbeat At"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"status":{"$ref":"#/components/schemas/InvoiceRunStatus"},"month":{"type":"integer","title":"Month"},"year":{"type":"integer","title":"Year"},"customer_groups":{"anyOf":[{"items":{"type":"string","format":"uuid4"},"type":"array"},{"type":"null"}],"title":"Customer Groups"},"billcycles":{"anyOf":[{"items":{"type":"string","format":"uuid4"},"type":"array"},{"type":"null"}],"title":"Billcycles"},"total_customers":{"type":"integer","title":"Total Customers"},"processed_customers":{"type":"integer","title":"Processed Customers"},"failed_customers":{"type":"integer","title":"Failed Customers"},"created_invoices":{"type":"integer","title":"Created Invoices"},"recurring_billing_timing":{"$ref":"#/components/schemas/RecurringBillingTiming"},"invoice_grouping":{"$ref":"#/components/schemas/InvoiceGrouping"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","required":["invoice_run_id","start_date","status","month","year","total_customers","processed_customers","failed_customers","created_invoices","recurring_billing_timing","invoice_grouping"],"title":"InvoiceRunsResponse"},"InvoiceStatus":{"type":"string","enum":["draft","committed","generated","sent"],"title":"InvoiceStatus"},"InvoiceUpdate":{"properties":{"invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Invoice Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number"},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"house_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District"}},"additionalProperties":false,"type":"object","title":"InvoiceUpdate"},"JsonValue":{},"LicenseInfo":{"properties":{"tenant_id":{"type":"string","title":"Tenant Id"},"license_status":{"$ref":"#/components/schemas/LicenseStatus"},"valid_to":{"type":"string","format":"date","title":"Valid To"},"grace_until":{"type":"string","format":"date","title":"Grace Until"},"lease_expires_at":{"type":"string","format":"date-time","title":"Lease Expires At"},"last_successful_check_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Successful Check At"},"next_check_after":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Check After"},"locked":{"type":"boolean","title":"Locked"},"lock_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lock Reason"},"max_seats":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Max Seats"},"options":{"items":{"$ref":"#/components/schemas/LicenseOption"},"type":"array","title":"Options"}},"type":"object","required":["tenant_id","license_status","valid_to","grace_until","lease_expires_at","locked"],"title":"LicenseInfo","description":"Public license information derived from a verified signed lease."},"LicenseOption":{"properties":{"option_key":{"type":"string","minLength":1,"title":"Option Key","description":"Normalized license option key"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Human-readable license option description"}},"additionalProperties":false,"type":"object","required":["option_key"],"title":"LicenseOption","description":"Public metadata for one verified license option."},"LicenseReadinessStatus":{"properties":{"locked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Locked"},"lock_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lock Reason"},"expired_within_grace":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Expired Within Grace"},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To"},"grace_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Grace Until"}},"additionalProperties":false,"type":"object","required":["locked","lock_reason","expired_within_grace","valid_to","grace_until"],"title":"LicenseReadinessStatus","description":"Minimal verified license state exposed by the public readiness endpoint."},"LicenseStatus":{"type":"string","enum":["active","expired","suspended","unknown"],"title":"LicenseStatus","description":"Status values accepted from a verified signed license lease."},"LinkedDocumentSummary":{"properties":{"document_id":{"type":"string","format":"uuid4","title":"Document Id","description":"Document ID"},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the document"},"has_embedded_xml":{"type":"boolean","title":"Has Embedded Xml","description":"If true, the generated PDF contains an embedded XML attachment"},"is_einvoice_conform":{"type":"boolean","title":"Is Einvoice Conform","description":"If true, the generated document fulfills the additional e-invoice conformance checks"}},"type":"object","required":["document_id","customer_id","has_embedded_xml","is_einvoice_conform"],"title":"LinkedDocumentSummary"},"LogicalFilter-Input":{"properties":{"kind":{"type":"string","const":"logical","title":"Kind","default":"logical"},"operator":{"type":"string","enum":["and","or","not"],"title":"Operator"},"conditions":{"items":{"oneOf":[{"$ref":"#/components/schemas/ComparisonFilter-Input"},{"$ref":"#/components/schemas/LogicalFilter-Input"},{"$ref":"#/components/schemas/TruthFilter-Input"}],"discriminator":{"propertyName":"kind","mapping":{"comparison":"#/components/schemas/ComparisonFilter-Input","logical":"#/components/schemas/LogicalFilter-Input","truth":"#/components/schemas/TruthFilter-Input"}}},"type":"array","maxItems":64,"minItems":1,"title":"Conditions"}},"additionalProperties":false,"type":"object","required":["operator","conditions"],"title":"LogicalFilter"},"LogicalFilter-Output":{"properties":{"kind":{"type":"string","const":"logical","title":"Kind","default":"logical"},"operator":{"type":"string","enum":["and","or","not"],"title":"Operator"},"conditions":{"items":{"oneOf":[{"$ref":"#/components/schemas/ComparisonFilter-Output"},{"$ref":"#/components/schemas/LogicalFilter-Output"},{"$ref":"#/components/schemas/TruthFilter-Output"}],"discriminator":{"propertyName":"kind","mapping":{"comparison":"#/components/schemas/ComparisonFilter-Output","logical":"#/components/schemas/LogicalFilter-Output","truth":"#/components/schemas/TruthFilter-Output"}}},"type":"array","maxItems":64,"minItems":1,"title":"Conditions"}},"additionalProperties":false,"type":"object","required":["operator","conditions"],"title":"LogicalFilter"},"MandateStatus":{"type":"string","enum":["active","suspended","revoked"],"title":"MandateStatus"},"MandateType":{"type":"string","enum":["core","b2b"],"title":"MandateType"},"MandateUsage":{"type":"string","enum":["one_off","recurring"],"title":"MandateUsage"},"MessageResponse":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"MessageResponse"},"MissingTemplateComplianceRequirementResponse":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"missing_paths":{"items":{"type":"string"},"type":"array","title":"Missing Paths"},"missing_alternative_path_groups":{"items":{"items":{"type":"string"},"type":"array"},"type":"array","title":"Missing Alternative Path Groups"},"severity":{"$ref":"#/components/schemas/TemplateComplianceSeverity","default":"error"}},"type":"object","required":["key","label","description"],"title":"MissingTemplateComplianceRequirementResponse"},"NextNumberResponse":{"properties":{"next_number":{"type":"integer","minimum":1.0,"title":"Next Number","description":"Next suggested free number","examples":[123]}},"type":"object","required":["next_number"],"title":"NextNumberResponse"},"NotBilledCustomerList":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/CustomerWithBillingAddress"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"NotBilledCustomerList"},"NoteCreate":{"properties":{"service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id","description":"Optional service ID of the note","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"note_date":{"type":"string","format":"date","title":"Note Date","description":"Date of the note","examples":["2026-03-18"]},"subject":{"type":"string","maxLength":200,"minLength":1,"title":"Subject","description":"Subject of the note","examples":["Customer called back"]},"note_html":{"type":"string","title":"Note Html","description":"HTML body of the note","examples":["<p><strong>Status:</strong> Customer requested a callback.</p>"]}},"additionalProperties":false,"type":"object","required":["note_date","subject","note_html"],"title":"NoteCreate"},"NoteListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of notes","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/NoteResponse"},"type":"array","title":"Items","description":"List of notes"}},"type":"object","required":["total_count","items"],"title":"NoteListResponse"},"NoteResponse":{"properties":{"service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id","description":"Optional service ID of the note","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"note_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Note Date","description":"Date of the note","examples":["2026-03-18"]},"subject":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Subject","description":"Subject of the note","examples":["Customer called back"]},"note_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note Html","description":"HTML body of the note. Only a limited HTML subset with inline CSS is allowed.","examples":["<p><strong>Status:</strong> Customer requested a callback.</p>"]},"username":{"type":"string","maxLength":200,"minLength":1,"title":"Username","description":"Username who created or changed the note","examples":["patta"]},"note_id":{"type":"string","format":"uuid4","title":"Note Id","description":"Note ID","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the note","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"service":{"anyOf":[{"$ref":"#/components/schemas/Service"},{"type":"null"}]}},"type":"object","required":["username","note_id","customer_id","last_change"],"title":"NoteResponse"},"NoteUpdate":{"properties":{"service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Id","description":"Optional service ID of the note","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"note_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Note Date","description":"Date of the note","examples":["2026-03-18"]},"subject":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Subject","description":"Subject of the note","examples":["Customer called back"]},"note_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note Html","description":"HTML body of the note. Only a limited HTML subset with inline CSS is allowed.","examples":["<p><strong>Status:</strong> Customer requested a callback.</p>"]}},"additionalProperties":false,"type":"object","title":"NoteUpdate"},"OposAllocationCreate":{"properties":{"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$"}],"title":"Amount"}},"additionalProperties":false,"type":"object","required":["invoice_id","amount"],"title":"OposAllocationCreate"},"OposAllocationReverse":{"properties":{"reason":{"type":"string","maxLength":5000,"minLength":1,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["reason"],"title":"OposAllocationReverse"},"OposBankAccountListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OposBankAccountResponse"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"OposBankAccountListResponse"},"OposBankAccountResponse":{"properties":{"organization_bank_account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Organization Bank Account Id"},"bank_account_id":{"type":"string","format":"uuid4","title":"Bank Account Id"},"bank_connection_id":{"type":"string","format":"uuid4","title":"Bank Connection Id"},"account_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Type"},"account_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Name"},"iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Iban"},"bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bic"},"currency":{"type":"string","title":"Currency"},"balance":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Balance"},"reconciliation_enabled":{"type":"boolean","title":"Reconciliation Enabled"},"available":{"type":"boolean","title":"Available"},"is_default_direct_debit_account":{"type":"boolean","title":"Is Default Direct Debit Account"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"max_batch_items":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Batch Items"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["bank_account_id","bank_connection_id","currency","reconciliation_enabled","available","is_default_direct_debit_account","capabilities","created_at","updated_at"],"title":"OposBankAccountResponse"},"OposBankAccountUpdate":{"properties":{"reconciliation_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Reconciliation Enabled"},"is_default_direct_debit_account":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default Direct Debit Account"}},"additionalProperties":false,"type":"object","title":"OposBankAccountUpdate"},"OposBankAllocationsCreate":{"properties":{"allocations":{"items":{"$ref":"#/components/schemas/OposAllocationCreate"},"type":"array","minItems":1,"title":"Allocations"}},"additionalProperties":false,"type":"object","required":["allocations"],"title":"OposBankAllocationsCreate"},"OposBankAuthorizationResponse":{"properties":{"authorization_id":{"type":"string","format":"uuid4","title":"Authorization Id"},"status":{"type":"string","title":"Status"},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization Url"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["authorization_id","status"],"title":"OposBankAuthorizationResponse"},"OposBankConnectionListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OposBankConnectionResponse"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"OposBankConnectionListResponse"},"OposBankConnectionResponse":{"properties":{"bank_connection_id":{"type":"string","format":"uuid4","title":"Bank Connection Id"},"status":{"type":"string","title":"Status"},"reauthorization_required":{"type":"boolean","title":"Reauthorization Required"},"last_successful_sync_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Successful Sync At"},"last_error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error Code"},"disconnected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disconnected At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["bank_connection_id","status","reauthorization_required","created_at","updated_at"],"title":"OposBankConnectionResponse"},"OposBankSyncRunResponse":{"properties":{"bank_sync_run_id":{"type":"string","format":"uuid4","title":"Bank Sync Run Id"},"trigger":{"$ref":"#/components/schemas/OposBankSyncTrigger"},"status":{"$ref":"#/components/schemas/OposBankSyncRunStatus"},"bank_connection_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Bank Connection Id"},"imported_connections":{"type":"integer","title":"Imported Connections"},"imported_accounts":{"type":"integer","title":"Imported Accounts"},"imported_transactions":{"type":"integer","title":"Imported Transactions"},"error_count":{"type":"integer","title":"Error Count"},"last_error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error Code"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["bank_sync_run_id","trigger","status","imported_connections","imported_accounts","imported_transactions","error_count","created_at"],"title":"OposBankSyncRunResponse"},"OposBankSyncRunStatus":{"type":"string","enum":["queued","running","succeeded","partial","failed"],"title":"OposBankSyncRunStatus"},"OposBankSyncTrigger":{"type":"string","enum":["event","manual","reconciliation","onboarding"],"title":"OposBankSyncTrigger"},"OposBankTransactionAllocationResponse":{"properties":{"invoice_allocation_id":{"type":"string","format":"uuid4","title":"Invoice Allocation Id"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"opos_invoice_state_id":{"type":"string","format":"uuid4","title":"Opos Invoice State Id"},"invoice_prefix":{"type":"string","title":"Invoice Prefix"},"invoice_no":{"type":"integer","title":"Invoice No"},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Name"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"created_by_actor_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Created By Actor Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"reversed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reversed At"},"reversed_by_actor_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Reversed By Actor Id"},"reversal_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reversal Reason"}},"type":"object","required":["invoice_allocation_id","invoice_id","opos_invoice_state_id","invoice_prefix","invoice_no","amount","created_at"],"title":"OposBankTransactionAllocationResponse"},"OposBankTransactionDetailResponse":{"properties":{"bank_transaction_id":{"type":"string","format":"uuid4","title":"Bank Transaction Id"},"bank_account_id":{"type":"string","format":"uuid4","title":"Bank Account Id"},"status":{"$ref":"#/components/schemas/OposBankTransactionStatus"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"currency":{"type":"string","title":"Currency"},"booking_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Booking Date"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"},"counterpart_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterpart Name"},"counterpart_iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterpart Iban"},"counterpart_bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterpart Bic"},"end_to_end_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End To End Reference"},"mandate_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mandate Reference"},"is_adjusting_entry":{"type":"boolean","title":"Is Adjusting Entry"},"allocated_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Allocated Amount"},"unallocated_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Unallocated Amount"},"suggestions":{"items":{"$ref":"#/components/schemas/OposMatchSuggestionResponse"},"type":"array","title":"Suggestions"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"allocations":{"items":{"$ref":"#/components/schemas/OposBankTransactionAllocationResponse"},"type":"array","title":"Allocations"}},"type":"object","required":["bank_transaction_id","bank_account_id","status","amount","currency","is_adjusting_entry","allocated_amount","unallocated_amount","created_at","updated_at","allocations"],"title":"OposBankTransactionDetailResponse"},"OposBankTransactionListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/OposBankTransactionResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"OposBankTransactionListResponse"},"OposBankTransactionResponse":{"properties":{"bank_transaction_id":{"type":"string","format":"uuid4","title":"Bank Transaction Id"},"bank_account_id":{"type":"string","format":"uuid4","title":"Bank Account Id"},"status":{"$ref":"#/components/schemas/OposBankTransactionStatus"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"currency":{"type":"string","title":"Currency"},"booking_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Booking Date"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"},"counterpart_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterpart Name"},"counterpart_iban":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterpart Iban"},"counterpart_bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterpart Bic"},"end_to_end_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End To End Reference"},"mandate_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mandate Reference"},"is_adjusting_entry":{"type":"boolean","title":"Is Adjusting Entry"},"allocated_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Allocated Amount"},"unallocated_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Unallocated Amount"},"suggestions":{"items":{"$ref":"#/components/schemas/OposMatchSuggestionResponse"},"type":"array","title":"Suggestions"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["bank_transaction_id","bank_account_id","status","amount","currency","is_adjusting_entry","allocated_amount","unallocated_amount","created_at","updated_at"],"title":"OposBankTransactionResponse"},"OposBankTransactionStatus":{"type":"string","enum":["pending","booked","removed"],"title":"OposBankTransactionStatus"},"OposBankingSettingsResponse":{"properties":{"auto_matching_enabled":{"type":"boolean","title":"Auto Matching Enabled"},"creditor_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Creditor Identifier"},"default_direct_debit_account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Default Direct Debit Account Id"}},"type":"object","required":["auto_matching_enabled"],"title":"OposBankingSettingsResponse"},"OposBankingSettingsUpdate":{"properties":{"auto_matching_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Matching Enabled"},"creditor_identifier":{"anyOf":[{"type":"string","maxLength":35},{"type":"null"}],"title":"Creditor Identifier"},"default_direct_debit_account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Default Direct Debit Account Id"}},"additionalProperties":false,"type":"object","title":"OposBankingSettingsUpdate"},"OposCashbookSettlementCreate":{"properties":{"cashbook_id":{"type":"string","format":"uuid4","title":"Cashbook Id"},"entry":{"$ref":"#/components/schemas/CashbookEntryCreate"},"allocations":{"items":{"$ref":"#/components/schemas/OposAllocationCreate"},"type":"array","minItems":1,"title":"Allocations"}},"additionalProperties":false,"type":"object","required":["cashbook_id","entry","allocations"],"title":"OposCashbookSettlementCreate"},"OposDashboardResponse":{"properties":{"open_count":{"type":"integer","title":"Open Count"},"partial_count":{"type":"integer","title":"Partial Count"},"reminded_count":{"type":"integer","title":"Reminded Count"},"paid_count":{"type":"integer","title":"Paid Count"},"overdue_count":{"type":"integer","title":"Overdue Count"},"reminder_due_count":{"type":"integer","title":"Reminder Due Count"},"oldest_due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Oldest Due Date"},"due_next_7_days_count":{"type":"integer","title":"Due Next 7 Days Count"},"due_next_30_days_count":{"type":"integer","title":"Due Next 30 Days Count"}},"type":"object","required":["open_count","partial_count","reminded_count","paid_count","overdue_count","reminder_due_count","due_next_7_days_count","due_next_30_days_count"],"title":"OposDashboardResponse","description":"Small KPI response for the OPOS dashboard."},"OposDirectDebitAuthorizationResponse":{"properties":{"direct_debit_group_id":{"type":"string","format":"uuid4","title":"Direct Debit Group Id"},"authorization_id":{"type":"string","format":"uuid4","title":"Authorization Id"},"authorization_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization Url"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"status":{"$ref":"#/components/schemas/OposDirectDebitGroupStatus"}},"type":"object","required":["direct_debit_group_id","authorization_id","status"],"title":"OposDirectDebitAuthorizationResponse"},"OposDirectDebitGroupResponse":{"properties":{"direct_debit_group_id":{"type":"string","format":"uuid4","title":"Direct Debit Group Id"},"bank_account_id":{"type":"string","format":"uuid4","title":"Bank Account Id"},"mandate_type":{"type":"string","title":"Mandate Type"},"sequence_type":{"$ref":"#/components/schemas/SepaSequenceType"},"execution_date":{"type":"string","format":"date","title":"Execution Date"},"status":{"$ref":"#/components/schemas/OposDirectDebitGroupStatus"},"external_payment_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Payment Reference"},"last_error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error Code"},"items":{"items":{"$ref":"#/components/schemas/OposDirectDebitItemResponse"},"type":"array","title":"Items"}},"type":"object","required":["direct_debit_group_id","bank_account_id","mandate_type","sequence_type","execution_date","status","items"],"title":"OposDirectDebitGroupResponse"},"OposDirectDebitGroupStatus":{"type":"string","enum":["draft","authorization_pending","submitted","failed","unknown","completed"],"title":"OposDirectDebitGroupStatus"},"OposDirectDebitGroupStatusCount":{"properties":{"status":{"$ref":"#/components/schemas/OposDirectDebitGroupStatus"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["status","count"],"title":"OposDirectDebitGroupStatusCount"},"OposDirectDebitItemCreate":{"properties":{"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$"}],"title":"Amount"},"mandate_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Mandate Id"},"bank_account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Bank Account Id"},"final_collection":{"type":"boolean","title":"Final Collection","default":false}},"additionalProperties":false,"type":"object","required":["invoice_id","amount"],"title":"OposDirectDebitItemCreate"},"OposDirectDebitItemResponse":{"properties":{"direct_debit_item_id":{"type":"string","format":"uuid4","title":"Direct Debit Item Id"},"opos_invoice_state_id":{"type":"string","format":"uuid4","title":"Opos Invoice State Id"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"invoice_prefix":{"type":"string","title":"Invoice Prefix"},"invoice_no":{"type":"integer","title":"Invoice No"},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Name"},"payment_id":{"type":"string","format":"uuid4","title":"Payment Id"},"mandate_reference":{"type":"string","title":"Mandate Reference"},"mandate_signed_on":{"type":"string","format":"date","title":"Mandate Signed On"},"payer_name":{"type":"string","title":"Payer Name"},"payer_iban":{"type":"string","title":"Payer Iban"},"payer_bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payer Bic"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"end_to_end_id":{"type":"string","title":"End To End Id"},"external_payment_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Payment Reference"},"status":{"$ref":"#/components/schemas/OposDirectDebitItemStatus"},"execution_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Execution Status"},"last_error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error Code"},"review_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Note"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["direct_debit_item_id","opos_invoice_state_id","invoice_id","invoice_prefix","invoice_no","payment_id","mandate_reference","mandate_signed_on","payer_name","payer_iban","amount","end_to_end_id","status","created_at","updated_at"],"title":"OposDirectDebitItemResponse"},"OposDirectDebitItemStatus":{"type":"string","enum":["reserved","submitted","settled","returned","failed","cancelled"],"title":"OposDirectDebitItemStatus"},"OposDirectDebitRunCreate":{"properties":{"execution_date":{"type":"string","format":"date","title":"Execution Date"},"prenotification_confirmed":{"type":"boolean","title":"Prenotification Confirmed"},"items":{"items":{"$ref":"#/components/schemas/OposDirectDebitItemCreate"},"type":"array","minItems":1,"title":"Items"}},"additionalProperties":false,"type":"object","required":["execution_date","prenotification_confirmed","items"],"title":"OposDirectDebitRunCreate"},"OposDirectDebitRunListItem":{"properties":{"direct_debit_run_id":{"type":"string","format":"uuid4","title":"Direct Debit Run Id"},"execution_date":{"type":"string","format":"date","title":"Execution Date"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Amount"},"currency":{"type":"string","title":"Currency"},"item_count":{"type":"integer","title":"Item Count"},"group_count":{"type":"integer","title":"Group Count"},"group_status_counts":{"items":{"$ref":"#/components/schemas/OposDirectDebitGroupStatusCount"},"type":"array","title":"Group Status Counts"},"can_cancel":{"type":"boolean","title":"Can Cancel"}},"type":"object","required":["direct_debit_run_id","execution_date","created_at","total_amount","currency","item_count","group_count","group_status_counts","can_cancel"],"title":"OposDirectDebitRunListItem"},"OposDirectDebitRunListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/OposDirectDebitRunListItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"OposDirectDebitRunListResponse"},"OposDirectDebitRunResponse":{"properties":{"direct_debit_run_id":{"type":"string","format":"uuid4","title":"Direct Debit Run Id"},"execution_date":{"type":"string","format":"date","title":"Execution Date"},"prenotification_confirmed":{"type":"boolean","title":"Prenotification Confirmed"},"prenotification_confirmed_at":{"type":"string","format":"date-time","title":"Prenotification Confirmed At"},"prenotification_confirmed_by_actor_id":{"type":"string","format":"uuid4","title":"Prenotification Confirmed By Actor Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"groups":{"items":{"$ref":"#/components/schemas/OposDirectDebitGroupResponse"},"type":"array","title":"Groups"}},"type":"object","required":["direct_debit_run_id","execution_date","prenotification_confirmed","prenotification_confirmed_at","prenotification_confirmed_by_actor_id","created_at","groups"],"title":"OposDirectDebitRunResponse"},"OposDunningStatus":{"type":"string","enum":["none","reminded"],"title":"OposDunningStatus","description":"Dunning state kept independently from the financial state."},"OposInvoiceAllocationResponse":{"properties":{"invoice_allocation_id":{"type":"string","format":"uuid4","title":"Invoice Allocation Id"},"settlement_source_id":{"type":"string","format":"uuid4","title":"Settlement Source Id"},"opos_invoice_state_id":{"type":"string","format":"uuid4","title":"Opos Invoice State Id"},"amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Amount"},"created_by_actor_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Created By Actor Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"reversed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reversed At"},"reversed_by_actor_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Reversed By Actor Id"},"reversal_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reversal Reason"}},"type":"object","required":["invoice_allocation_id","settlement_source_id","opos_invoice_state_id","amount","created_at"],"title":"OposInvoiceAllocationResponse"},"OposInvoiceDueState":{"type":"string","enum":["not_due","due","overdue","paid"],"title":"OposInvoiceDueState","description":"Calculated date-dependent OPOS due state values."},"OposInvoiceListItem":{"properties":{"opos_invoice_state_id":{"type":"string","format":"uuid4","title":"Opos Invoice State Id"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"invoice_no":{"type":"integer","title":"Invoice No"},"invoice_prefix":{"type":"string","title":"Invoice Prefix"},"invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Invoice Date"},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"due_date":{"type":"string","format":"date","title":"Due Date"},"gross_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Gross Amount"},"currency":{"type":"string","title":"Currency"},"payment_status":{"$ref":"#/components/schemas/OposPaymentStatus"},"dunning_status":{"$ref":"#/components/schemas/OposDunningStatus"},"paid_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Paid Amount"},"outstanding_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Outstanding Amount"},"reserved_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Reserved Amount"},"available_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Available Amount"},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paid At"},"last_reminded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Reminded At"},"reminder_count":{"type":"integer","title":"Reminder Count"},"is_overdue":{"type":"boolean","title":"Is Overdue"},"is_reminder_due":{"type":"boolean","title":"Is Reminder Due"},"days_overdue":{"type":"integer","title":"Days Overdue"},"due_state":{"$ref":"#/components/schemas/OposInvoiceDueState"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"last_payment_change_at":{"type":"string","format":"date-time","title":"Last Payment Change At"},"last_dunning_change_at":{"type":"string","format":"date-time","title":"Last Dunning Change At"}},"type":"object","required":["opos_invoice_state_id","invoice_id","invoice_no","invoice_prefix","due_date","gross_amount","currency","payment_status","dunning_status","paid_amount","outstanding_amount","reserved_amount","available_amount","reminder_count","is_overdue","is_reminder_due","days_overdue","due_state","created_at","updated_at","last_payment_change_at","last_dunning_change_at"],"title":"OposInvoiceListItem","description":"OPOS invoice state with invoice snapshot fields."},"OposInvoiceListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/OposInvoiceListItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"OposInvoiceListResponse","description":"Paginated OPOS invoice response."},"OposInvoiceSyncResponse":{"properties":{"created":{"type":"integer","title":"Created"},"already_existing":{"type":"integer","title":"Already Existing"},"skipped_missing_due_date":{"type":"integer","title":"Skipped Missing Due Date"}},"type":"object","required":["created","already_existing","skipped_missing_due_date"],"title":"OposInvoiceSyncResponse","description":"Result of an OPOS backfill sync run."},"OposManualSettlementCreate":{"properties":{"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d{0,2}0*$"}],"title":"Amount"},"booking_date":{"type":"string","format":"date","title":"Booking Date"},"payment_method":{"$ref":"#/components/schemas/OposPaymentMethod"},"reference":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference"},"note":{"type":"string","maxLength":5000,"minLength":1,"title":"Note"}},"additionalProperties":false,"type":"object","required":["amount","booking_date","payment_method","note"],"title":"OposManualSettlementCreate"},"OposMatchSuggestionResponse":{"properties":{"match_suggestion_id":{"type":"string","format":"uuid4","title":"Match Suggestion Id"},"bank_transaction_id":{"type":"string","format":"uuid4","title":"Bank Transaction Id"},"opos_invoice_state_id":{"type":"string","format":"uuid4","title":"Opos Invoice State Id"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"invoice_prefix":{"type":"string","title":"Invoice Prefix"},"invoice_no":{"type":"integer","title":"Invoice No"},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Name"},"outstanding_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Outstanding Amount"},"reserved_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Reserved Amount"},"available_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Available Amount"},"suggested_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Suggested Amount"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"status":{"$ref":"#/components/schemas/OposSuggestionStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["match_suggestion_id","bank_transaction_id","opos_invoice_state_id","invoice_id","invoice_prefix","invoice_no","outstanding_amount","reserved_amount","available_amount","suggested_amount","reasons","status","created_at"],"title":"OposMatchSuggestionResponse"},"OposPaymentMethod":{"type":"string","enum":["cash","card","external_bank","other"],"title":"OposPaymentMethod"},"OposPaymentReminderCreate":{"properties":{"payment_reminder_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Payment Reminder Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"note":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Note"}},"additionalProperties":false,"type":"object","title":"OposPaymentReminderCreate","description":"Request payload for creating the next OPOS payment reminder."},"OposPaymentReminderItem":{"properties":{"opos_payment_reminder_id":{"type":"string","format":"uuid4","title":"Opos Payment Reminder Id"},"opos_invoice_state_id":{"type":"string","format":"uuid4","title":"Opos Invoice State Id"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"},"payment_reminder_id":{"type":"string","format":"uuid4","title":"Payment Reminder Id"},"reminder_level":{"type":"integer","title":"Reminder Level"},"reminder_date":{"type":"string","format":"date","title":"Reminder Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["opos_payment_reminder_id","opos_invoice_state_id","invoice_id","payment_reminder_id","reminder_level","reminder_date","created_at","updated_at"],"title":"OposPaymentReminderItem","description":"OPOS payment reminder history item."},"OposPaymentReminderListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/OposPaymentReminderItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"OposPaymentReminderListResponse","description":"OPOS payment reminder history response."},"OposPaymentStatus":{"type":"string","enum":["open","partial","paid"],"title":"OposPaymentStatus","description":"Financial state derived exclusively from active allocations."},"OposSettlementListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OposSettlementResponse"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"OposSettlementListResponse"},"OposSettlementResponse":{"properties":{"settlement_source_id":{"type":"string","format":"uuid4","title":"Settlement Source Id"},"source":{"$ref":"#/components/schemas/OposSettlementSource"},"bank_transaction_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Bank Transaction Id"},"cashbook_entry_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Cashbook Entry Id"},"total_amount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Amount"},"currency":{"type":"string","title":"Currency"},"booking_date":{"type":"string","format":"date","title":"Booking Date"},"payment_method":{"anyOf":[{"$ref":"#/components/schemas/OposPaymentMethod"},{"type":"null"}]},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"created_by_actor_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Created By Actor Id"},"reversed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reversed At"},"reversed_by_actor_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Reversed By Actor Id"},"reversal_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reversal Reason"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"allocations":{"items":{"$ref":"#/components/schemas/OposInvoiceAllocationResponse"},"type":"array","title":"Allocations"}},"type":"object","required":["settlement_source_id","source","total_amount","currency","booking_date","created_at","allocations"],"title":"OposSettlementResponse"},"OposSettlementSource":{"type":"string","enum":["bank_transaction","manual","cashbook"],"title":"OposSettlementSource"},"OposSuggestionStatus":{"type":"string","enum":["active","accepted","invalidated"],"title":"OposSuggestionStatus"},"OrderConfirmationCreate":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"order_confirmation_date":{"type":"string","format":"date","title":"Order Confirmation Date","description":"Order confirmation date","examples":["2024-01-01"]},"positions":{"items":{"$ref":"#/components/schemas/OrderConfirmationPositionCreate"},"type":"array","title":"Positions"}},"additionalProperties":false,"type":"object","required":["service_date","due_date","street","house_number","postcode","city","order_confirmation_date","positions"],"title":"OrderConfirmationCreate"},"OrderConfirmationFromOrderConfirmationRequest":{"properties":{"order_confirmation_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Order Confirmation Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"order_confirmation_id":{"type":"string","format":"uuid4","title":"Order Confirmation Id"}},"additionalProperties":false,"type":"object","required":["order_confirmation_id"],"title":"OrderConfirmationFromOrderConfirmationRequest"},"OrderConfirmationFromQuotationRequest":{"properties":{"order_confirmation_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Order Confirmation Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"quotation_id":{"type":"string","format":"uuid4","title":"Quotation Id"}},"additionalProperties":false,"type":"object","required":["quotation_id"],"title":"OrderConfirmationFromQuotationRequest"},"OrderConfirmationIdResponse":{"properties":{"order_confirmation_id":{"type":"string","format":"uuid4","title":"Order Confirmation Id"}},"type":"object","required":["order_confirmation_id"],"title":"OrderConfirmationIdResponse"},"OrderConfirmationListItem":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"order_confirmation_date":{"type":"string","format":"date","title":"Order Confirmation Date","description":"Order confirmation date","examples":["2024-01-01"]},"order_confirmation_id":{"type":"string","format":"uuid4","title":"Order Confirmation Id"},"order_confirmation_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Confirmation No"},"order_confirmation_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Confirmation Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/LinkedDocumentSummary"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","order_confirmation_date","order_confirmation_id","status"],"title":"OrderConfirmationListItem"},"OrderConfirmationListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/OrderConfirmationListItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"OrderConfirmationListResponse"},"OrderConfirmationPositionCreate":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Price","examples":["100.00"]},"tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Rate","examples":["100.00"]},"product_count":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"}},"additionalProperties":false,"type":"object","required":["product_text","net_price","tax_rate","product_count"],"title":"OrderConfirmationPositionCreate"},"OrderConfirmationPositionDetailed":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Net Price","examples":["100.00"]},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Tax Rate","examples":["100.00"]},"product_count":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"},"product_number_snapshot":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number Snapshot","description":"Product number snapshot captured when the position was created"},"product_group_name_snapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Group Name Snapshot","description":"Product group name snapshot captured when the position was created"},"order_confirmation_position_id":{"type":"string","format":"uuid4","title":"Order Confirmation Position Id"},"position":{"type":"integer","title":"Position"},"full_price_net":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Net"},"full_price_gross":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Gross"},"tax":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax"}},"type":"object","required":["product_text","net_price","tax_rate","product_count","order_confirmation_position_id","position"],"title":"OrderConfirmationPositionDetailed"},"OrderConfirmationPositionUpdate":{"properties":{"product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Net Price"},"tax_rate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Tax Rate"},"product_count":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Product Count"},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id"}},"additionalProperties":false,"type":"object","title":"OrderConfirmationPositionUpdate"},"OrderConfirmationResponse":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"order_confirmation_date":{"type":"string","format":"date","title":"Order Confirmation Date","description":"Order confirmation date","examples":["2024-01-01"]},"order_confirmation_id":{"type":"string","format":"uuid4","title":"Order Confirmation Id"},"order_confirmation_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Confirmation No"},"order_confirmation_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Confirmation Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"positions":{"items":{"$ref":"#/components/schemas/OrderConfirmationPositionDetailed"},"type":"array","title":"Positions"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/DocumentResponse"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","order_confirmation_date","order_confirmation_id","status","positions"],"title":"OrderConfirmationResponse"},"OrderConfirmationUpdate":{"properties":{"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number"},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"house_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District"},"order_confirmation_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Order Confirmation Date"}},"additionalProperties":false,"type":"object","title":"OrderConfirmationUpdate"},"Ordering":{"properties":{"field":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$","title":"Field"},"direction":{"type":"string","enum":["asc","desc"],"title":"Direction","default":"asc"}},"additionalProperties":false,"type":"object","required":["field"],"title":"Ordering"},"OrganizationDataAddressSettings":{"properties":{"line_1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line 1","description":"Address line 1"},"line_2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line 2","description":"Address line 2"},"line_3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line 3","description":"Address line 3"},"post_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Code","description":"Post code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"City"},"country_subdivision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Subdivision","description":"Country subdivision"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code","description":"Country code"}},"additionalProperties":false,"type":"object","title":"OrganizationDataAddressSettings"},"OrganizationDataContactSettings":{"properties":{"person_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Name","description":"Contact person name"},"department_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department Name","description":"Department name"},"telephone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telephone Number","description":"Telephone number"},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Address","description":"Email address"}},"additionalProperties":false,"type":"object","title":"OrganizationDataContactSettings"},"OrganizationDataSettings":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Legal name of the organization"},"trading_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trading Name","description":"Trading name of the organization"},"seller_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Identifier","description":"Seller identifier value"},"legal_registration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Registration","description":"Legal registration value"},"electronic_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Electronic Address","description":"Electronic address value"},"vat_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vat Identifier","description":"VAT identifier of the organization"},"business_identification_number":{"anyOf":[{"type":"string","pattern":"^DE\\d{9}(?:-\\d{5})?$"},{"type":"null"}],"title":"Business Identification Number","description":"German business identification number (W-IdNr.) of the organization","examples":["DE123456789-00001"]},"tax_registration_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Registration Identifier","description":"Tax registration identifier of the organization"},"additional_legal_information":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additional Legal Information","description":"Additional legal information"},"address":{"$ref":"#/components/schemas/OrganizationDataAddressSettings"},"contact":{"$ref":"#/components/schemas/OrganizationDataContactSettings"},"tax_representative":{"$ref":"#/components/schemas/OrganizationDataTaxRepresentativeSettings"}},"additionalProperties":false,"type":"object","title":"OrganizationDataSettings"},"OrganizationDataTaxRepresentativeSettings":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Tax representative name"},"vat_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vat Identifier","description":"Tax representative VAT identifier"}},"additionalProperties":false,"type":"object","title":"OrganizationDataTaxRepresentativeSettings"},"PatchTenantUserRolesRequest":{"properties":{"add_role_keys":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Add Role Keys"},"remove_role_keys":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Remove Role Keys"}},"additionalProperties":false,"type":"object","title":"PatchTenantUserRolesRequest","description":"Request payload for atomically adding and removing user roles."},"PaymentCreate":{"properties":{"priority":{"type":"integer","title":"Priority","description":"Rating of the priority in numbers, the higher the number the higher the priority","examples":[10]},"iban":{"type":"string","maxLength":34,"title":"Iban","description":"IBAN of the payment","examples":["DE02120300000000202051"]},"bank_data_id":{"type":"string","format":"uuid4","title":"Bank Data Id","description":"Bank Data ID of the payment","examples":["c9c7b9d9-1a2a-4d6e-8b5b-7d6b2c9a3a5d"]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Valid from of the payment","examples":["2020-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Valid to of the payment","examples":["2020-01-31"]},"account_holder":{"type":"string","maxLength":200,"title":"Account Holder","description":"Account holder of the payment","examples":["Max Mustermann"]},"mandate_reference":{"type":"string","maxLength":200,"title":"Mandate Reference","description":"SEPA mandate reference","examples":["MANDATE-2026-0001"]},"mandate_type":{"$ref":"#/components/schemas/MandateType","default":"core"},"mandate_signed_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Mandate Signed On"},"mandate_usage":{"$ref":"#/components/schemas/MandateUsage","default":"recurring"},"mandate_status":{"$ref":"#/components/schemas/MandateStatus","default":"active"}},"additionalProperties":false,"type":"object","required":["priority","iban","bank_data_id","account_holder","mandate_reference"],"title":"PaymentCreate"},"PaymentListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of payments","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/PaymentResponse"},"type":"array","title":"Items","description":"List of payments"}},"type":"object","required":["total_count","items"],"title":"PaymentListResponse"},"PaymentReminderCreate":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"payment_reminder_date":{"type":"string","format":"date","title":"Payment Reminder Date","description":"Payment reminder date","examples":["2024-01-01"]},"positions":{"items":{"$ref":"#/components/schemas/PaymentReminderPositionCreate"},"type":"array","title":"Positions"}},"additionalProperties":false,"type":"object","required":["service_date","due_date","street","house_number","postcode","city","payment_reminder_date","positions"],"title":"PaymentReminderCreate"},"PaymentReminderFromInvoiceRequest":{"properties":{"payment_reminder_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Payment Reminder Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"invoice_id":{"type":"string","format":"uuid4","title":"Invoice Id"}},"additionalProperties":false,"type":"object","required":["invoice_id"],"title":"PaymentReminderFromInvoiceRequest"},"PaymentReminderFromPaymentReminderRequest":{"properties":{"payment_reminder_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Payment Reminder Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"payment_reminder_id":{"type":"string","format":"uuid4","title":"Payment Reminder Id"}},"additionalProperties":false,"type":"object","required":["payment_reminder_id"],"title":"PaymentReminderFromPaymentReminderRequest"},"PaymentReminderIdResponse":{"properties":{"payment_reminder_id":{"type":"string","format":"uuid4","title":"Payment Reminder Id"}},"type":"object","required":["payment_reminder_id"],"title":"PaymentReminderIdResponse"},"PaymentReminderListItem":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"payment_reminder_date":{"type":"string","format":"date","title":"Payment Reminder Date","description":"Payment reminder date","examples":["2024-01-01"]},"payment_reminder_id":{"type":"string","format":"uuid4","title":"Payment Reminder Id"},"payment_reminder_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payment Reminder No"},"payment_reminder_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Reminder Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/LinkedDocumentSummary"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","payment_reminder_date","payment_reminder_id","status"],"title":"PaymentReminderListItem"},"PaymentReminderListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/PaymentReminderListItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"PaymentReminderListResponse"},"PaymentReminderPositionCreate":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Price","examples":["100.00"]},"tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Rate","examples":["100.00"]},"product_count":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"}},"additionalProperties":false,"type":"object","required":["product_text","net_price","tax_rate","product_count"],"title":"PaymentReminderPositionCreate"},"PaymentReminderPositionDetailed":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Net Price","examples":["100.00"]},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Tax Rate","examples":["100.00"]},"product_count":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"},"product_number_snapshot":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number Snapshot","description":"Product number snapshot captured when the position was created"},"product_group_name_snapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Group Name Snapshot","description":"Product group name snapshot captured when the position was created"},"payment_reminder_position_id":{"type":"string","format":"uuid4","title":"Payment Reminder Position Id"},"position":{"type":"integer","title":"Position"},"full_price_net":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Net"},"full_price_gross":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Gross"},"tax":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax"}},"type":"object","required":["product_text","net_price","tax_rate","product_count","payment_reminder_position_id","position"],"title":"PaymentReminderPositionDetailed"},"PaymentReminderPositionUpdate":{"properties":{"product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Net Price"},"tax_rate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Tax Rate"},"product_count":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Product Count"},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id"}},"additionalProperties":false,"type":"object","title":"PaymentReminderPositionUpdate"},"PaymentReminderResponse":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"payment_reminder_date":{"type":"string","format":"date","title":"Payment Reminder Date","description":"Payment reminder date","examples":["2024-01-01"]},"payment_reminder_id":{"type":"string","format":"uuid4","title":"Payment Reminder Id"},"payment_reminder_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payment Reminder No"},"payment_reminder_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Reminder Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"positions":{"items":{"$ref":"#/components/schemas/PaymentReminderPositionDetailed"},"type":"array","title":"Positions"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/DocumentResponse"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","payment_reminder_date","payment_reminder_id","status","positions"],"title":"PaymentReminderResponse"},"PaymentReminderUpdate":{"properties":{"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number"},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"house_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District"},"payment_reminder_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Payment Reminder Date"}},"additionalProperties":false,"type":"object","title":"PaymentReminderUpdate"},"PaymentResponse":{"properties":{"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority","description":"Rating of the priority in numbers, the higher the number the higher the priority","examples":[10]},"iban":{"anyOf":[{"type":"string","maxLength":34},{"type":"null"}],"title":"Iban","description":"IBAN of the payment","examples":["DE02120300000000202051"]},"bank_data_id":{"type":"string","format":"uuid4","title":"Bank Data Id","description":"Bank Data ID of the payment","examples":["c9c7b9d9-1a2a-4d6e-8b5b-7d6b2c9a3a5d"]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Valid from of the payment","examples":["2020-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Valid to of the payment","examples":["2020-01-31"]},"account_holder":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Account Holder","description":"Account holder of the payment","examples":["Max Mustermann"]},"mandate_reference":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Mandate Reference","description":"SEPA mandate reference","examples":["MANDATE-2026-0001"]},"mandate_type":{"anyOf":[{"$ref":"#/components/schemas/MandateType"},{"type":"null"}]},"mandate_signed_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Mandate Signed On"},"mandate_usage":{"anyOf":[{"$ref":"#/components/schemas/MandateUsage"},{"type":"null"}]},"mandate_status":{"anyOf":[{"$ref":"#/components/schemas/MandateStatus"},{"type":"null"}]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID of the payment","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"payment_id":{"type":"string","format":"uuid4","title":"Payment Id","description":"Payment ID of the payment","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"bank_data":{"$ref":"#/components/schemas/BankData"}},"type":"object","required":["bank_data_id","payment_id","last_change","bank_data"],"title":"PaymentResponse"},"PaymentTarget":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the payment target","examples":["Zahlungsziel 1"]},"target_1_days":{"type":"integer","title":"Target 1 Days","description":"Target 1 days of the payment target","examples":[7]},"target_1_skonto":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Target 1 Skonto","description":"Target 1 skonto of the payment target","examples":["3.0"]},"target_2_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 2 Days","description":"Target 2 days of the payment target","examples":[14]},"target_2_skonto":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 2 Skonto","description":"Target 2 skonto of the payment target","examples":["2.0"]},"target_3_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 3 Days","description":"Target 3 days of the payment target","examples":[30]},"target_3_skonto":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 3 Skonto","description":"Target 3 skonto of the payment target","examples":["1.0"]},"payment_target_id":{"type":"string","format":"uuid4","title":"Payment Target Id","description":"Payment target ID of the payment target","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["description","target_1_days","target_1_skonto","payment_target_id","last_change"],"title":"PaymentTarget"},"PaymentTargetCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the payment target","examples":["Zahlungsziel 1"]},"target_1_days":{"type":"integer","title":"Target 1 Days","description":"Target 1 days of the payment target","examples":[7]},"target_1_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Target 1 Skonto","description":"Target 1 skonto of the payment target","examples":["3.0"]},"target_2_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 2 Days","description":"Target 2 days of the payment target","examples":[14]},"target_2_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 2 Skonto","description":"Target 2 skonto of the payment target","examples":["2.0"]},"target_3_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 3 Days","description":"Target 3 days of the payment target","examples":[30]},"target_3_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 3 Skonto","description":"Target 3 skonto of the payment target","examples":["1.0"]}},"additionalProperties":false,"type":"object","required":["description","target_1_days","target_1_skonto"],"title":"PaymentTargetCreate"},"PaymentTargetListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of Records in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/PaymentTarget"},"type":"array","title":"Items","description":"List of Records"}},"type":"object","required":["total_count","items"],"title":"PaymentTargetListResponse"},"PaymentTargetUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the payment target","examples":["Zahlungsziel 1"]},"target_1_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 1 Days","description":"Target 1 days of the payment target","examples":[7]},"target_1_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 1 Skonto","description":"Target 1 skonto of the payment target","examples":["3.0"]},"target_2_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 2 Days","description":"Target 2 days of the payment target","examples":[14]},"target_2_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 2 Skonto","description":"Target 2 skonto of the payment target","examples":["2.0"]},"target_3_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target 3 Days","description":"Target 3 days of the payment target","examples":[30]},"target_3_skonto":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Target 3 Skonto","description":"Target 3 skonto of the payment target","examples":["1.0"]}},"additionalProperties":false,"type":"object","title":"PaymentTargetUpdate"},"PaymentUpdate":{"properties":{"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority","description":"Rating of the priority in numbers, the higher the number the higher the priority","examples":[10]},"iban":{"anyOf":[{"type":"string","maxLength":34},{"type":"null"}],"title":"Iban","description":"IBAN of the payment","examples":["DE02120300000000202051"]},"bank_data_id":{"type":"string","format":"uuid4","title":"Bank Data Id","description":"Bank Data ID of the payment","examples":["c9c7b9d9-1a2a-4d6e-8b5b-7d6b2c9a3a5d"]},"valid_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid From","description":"Valid from of the payment","examples":["2020-01-01"]},"valid_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Valid To","description":"Valid to of the payment","examples":["2020-01-31"]},"account_holder":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Account Holder","description":"Account holder of the payment","examples":["Max Mustermann"]},"mandate_reference":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Mandate Reference","description":"SEPA mandate reference","examples":["MANDATE-2026-0001"]},"mandate_type":{"anyOf":[{"$ref":"#/components/schemas/MandateType"},{"type":"null"}]},"mandate_signed_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Mandate Signed On"},"mandate_usage":{"anyOf":[{"$ref":"#/components/schemas/MandateUsage"},{"type":"null"}]},"mandate_status":{"anyOf":[{"$ref":"#/components/schemas/MandateStatus"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"PaymentUpdate"},"PostingRule-Input":{"properties":{"document_kind":{"type":"string","enum":["invoice","corrective_invoice","self_billing_invoice"],"title":"Document Kind"},"source_account":{"type":"string","pattern":"^\\d{4,8}$","title":"Source Account"},"tax_rate":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Tax Rate"},"target_account":{"type":"string","pattern":"^\\d{4,8}$","title":"Target Account"},"tax_key":{"anyOf":[{"type":"string","pattern":"^\\d{1,4}$"},{"type":"null"}],"title":"Tax Key"},"automatic_tax_account":{"type":"boolean","title":"Automatic Tax Account","default":false}},"additionalProperties":false,"type":"object","required":["document_kind","source_account","tax_rate","target_account"],"title":"PostingRule"},"PostingRule-Output":{"properties":{"document_kind":{"type":"string","enum":["invoice","corrective_invoice","self_billing_invoice"],"title":"Document Kind"},"source_account":{"type":"string","pattern":"^\\d{4,8}$","title":"Source Account"},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Tax Rate"},"target_account":{"type":"string","pattern":"^\\d{4,8}$","title":"Target Account"},"tax_key":{"anyOf":[{"type":"string","pattern":"^\\d{1,4}$"},{"type":"null"}],"title":"Tax Key"},"automatic_tax_account":{"type":"boolean","title":"Automatic Tax Account","default":false}},"additionalProperties":false,"type":"object","required":["document_kind","source_account","tax_rate","target_account"],"title":"PostingRule"},"PreviewRequest":{"properties":{"start_date":{"type":"string","format":"date","title":"Start Date"},"end_date":{"type":"string","format":"date","title":"End Date"},"master_data_only":{"type":"boolean","title":"Master Data Only","default":false},"customer_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":1000,"title":"Customer Ids"}},"additionalProperties":false,"type":"object","required":["start_date","end_date"],"title":"PreviewRequest"},"Product":{"properties":{"product_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number","description":"Product number of the product","examples":[1]},"product_unit_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Unit Id","description":"Unit ID of the product","examples":["a47a8dba-6622-40d2-b5cc-89341876f729"]},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the product","examples":["Product 1"]},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description","description":"Optional description of the product","examples":["Detailed description of Product 1"]},"account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Account Id","description":"Account ID of the product","examples":["0b803418-3181-4e81-9916-f73d57f46dbf"]},"terms_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Terms Id","description":"Optional duration term ID of the product. Use null to clear the relation on PATCH.","examples":["25f780aa-2bf5-4728-b1f1-b08230503b9f"]},"discountable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Discountable","description":"If true, service-level percentage discounts can be applied to this product during billing","examples":[true]},"pro_rata":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pro Rata","description":"Pro rata of the product","examples":[true]},"cycle_type":{"$ref":"#/components/schemas/CycleType","description":"Cycle type of the product","default":"once","examples":["once","monthly","quarterly","half_yearly","yearly"]},"product_group_id":{"type":"string","format":"uuid4","title":"Product Group Id","description":"Product group ID of the product","examples":["10cf0055-bb74-4657-bd4c-49a785ddb23e"]},"product_id":{"type":"string","format":"uuid4","title":"Product Id","description":"Product ID of the product","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]}},"type":"object","required":["product_group_id","product_id"],"title":"Product"},"ProductAssignmentResult":{"properties":{"products":{"items":{"$ref":"#/components/schemas/AssignedProduct"},"type":"array","maxItems":100,"minItems":1,"title":"Products"},"active_wse_option_names":{"items":{"type":"string"},"type":"array","title":"Active Wse Option Names"},"included_seats":{"type":"integer","minimum":1.0,"title":"Included Seats"}},"additionalProperties":false,"type":"object","required":["products","active_wse_option_names","included_seats"],"title":"ProductAssignmentResult"},"ProductBundleCreate":{"properties":{"bundle_key":{"type":"string","maxLength":120,"minLength":1,"pattern":"^[a-z0-9]+([._-][a-z0-9]+)*$","title":"Bundle Key","description":"Lowercase stable slug key."},"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":20000,"contentMediaType":"text/markdown","description":"CommonMark source for the product bundle. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description"},"is_active":{"type":"boolean","title":"Is Active","default":true},"sort_order":{"type":"integer","minimum":0.0,"title":"Sort Order","default":0},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"available_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available Until"}},"additionalProperties":false,"type":"object","required":["bundle_key","name"],"title":"ProductBundleCreate","description":"Request payload for creating one product bundle."},"ProductBundleGroupCreate":{"properties":{"group_key":{"type":"string","maxLength":120,"minLength":1,"pattern":"^[a-z0-9]+([._-][a-z0-9]+)*$","title":"Group Key","description":"Lowercase stable slug key."},"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":20000,"contentMediaType":"text/markdown","description":"CommonMark source for the product bundle group. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_required":{"type":"boolean","title":"Is Required","default":false},"selection_mode":{"$ref":"#/components/schemas/ProductBundleSelectionMode","default":"multiple"},"min_selected_products":{"type":"integer","minimum":0.0,"title":"Min Selected Products","default":0},"max_selected_products":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Max Selected Products"},"min_total_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"}],"title":"Min Total Quantity","default":"0.00"},"max_total_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"},{"type":"null"}],"title":"Max Total Quantity"},"sort_order":{"type":"integer","minimum":0.0,"title":"Sort Order","default":0}},"additionalProperties":false,"type":"object","required":["group_key","name"],"title":"ProductBundleGroupCreate","description":"Request payload for creating one product bundle group."},"ProductBundleGroupDefaultSelectionUpdate":{"properties":{"selections":{"items":{"$ref":"#/components/schemas/ProductBundleSelection"},"type":"array","title":"Selections"}},"additionalProperties":false,"type":"object","required":["selections"],"title":"ProductBundleGroupDefaultSelectionUpdate","description":"Replace the complete default selection of one product bundle group."},"ProductBundleGroupProductCreate":{"properties":{"product_id":{"type":"string","format":"uuid4","title":"Product Id"},"display_name_override":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Display Name Override"},"description_override":{"anyOf":[{"type":"string","maxLength":10000,"contentMediaType":"text/markdown","description":"CommonMark source overriding the product description in this bundle group. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description Override"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_default":{"type":"boolean","title":"Is Default","default":false},"min_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"}],"title":"Min Quantity","default":"0.00"},"max_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"},{"type":"null"}],"title":"Max Quantity"},"default_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"}],"title":"Default Quantity","default":"0.00"},"quantity_step":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"}],"title":"Quantity Step","default":"1.00"},"sort_order":{"type":"integer","minimum":0.0,"title":"Sort Order","default":0}},"additionalProperties":false,"type":"object","required":["product_id"],"title":"ProductBundleGroupProductCreate","description":"Request payload for adding one product to a bundle group."},"ProductBundleGroupProductResponse":{"properties":{"product_bundle_group_product_id":{"type":"string","format":"uuid4","title":"Product Bundle Group Product Id"},"product_bundle_group_id":{"type":"string","format":"uuid4","title":"Product Bundle Group Id"},"product_id":{"type":"string","format":"uuid4","title":"Product Id"},"display_name_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name Override"},"description_override":{"anyOf":[{"type":"string","maxLength":10000,"contentMediaType":"text/markdown","description":"CommonMark source overriding the product description in this bundle group. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description Override"},"is_active":{"type":"boolean","title":"Is Active"},"is_default":{"type":"boolean","title":"Is Default"},"min_quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Min Quantity"},"max_quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Max Quantity"},"default_quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Default Quantity"},"quantity_step":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Quantity Step"},"sort_order":{"type":"integer","title":"Sort Order"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"product":{"$ref":"#/components/schemas/ProductCompactResponse"}},"type":"object","required":["product_bundle_group_product_id","product_bundle_group_id","product_id","is_active","is_default","min_quantity","default_quantity","quantity_step","sort_order","created_at","updated_at","product"],"title":"ProductBundleGroupProductResponse","description":"Product option response nested under a product bundle group."},"ProductBundleGroupProductUpdate":{"properties":{"display_name_override":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Display Name Override"},"description_override":{"anyOf":[{"type":"string","maxLength":10000,"contentMediaType":"text/markdown","description":"CommonMark source overriding the product description in this bundle group. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description Override"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"min_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"},{"type":"null"}],"title":"Min Quantity"},"max_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"},{"type":"null"}],"title":"Max Quantity"},"default_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"},{"type":"null"}],"title":"Default Quantity"},"quantity_step":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"},{"type":"null"}],"title":"Quantity Step"},"sort_order":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Sort Order"}},"additionalProperties":false,"type":"object","title":"ProductBundleGroupProductUpdate","description":"Request payload for updating one product option in a bundle group."},"ProductBundleGroupResponse":{"properties":{"product_bundle_group_id":{"type":"string","format":"uuid4","title":"Product Bundle Group Id"},"product_bundle_id":{"type":"string","format":"uuid4","title":"Product Bundle Id"},"group_key":{"type":"string","title":"Group Key"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":20000,"contentMediaType":"text/markdown","description":"CommonMark source for the product bundle group. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description"},"is_active":{"type":"boolean","title":"Is Active"},"is_required":{"type":"boolean","title":"Is Required"},"selection_mode":{"$ref":"#/components/schemas/ProductBundleSelectionMode"},"min_selected_products":{"type":"integer","title":"Min Selected Products"},"max_selected_products":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Selected Products"},"min_total_quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Min Total Quantity"},"max_total_quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Max Total Quantity"},"sort_order":{"type":"integer","title":"Sort Order"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"group_products":{"items":{"$ref":"#/components/schemas/ProductBundleGroupProductResponse"},"type":"array","title":"Group Products"}},"type":"object","required":["product_bundle_group_id","product_bundle_id","group_key","name","is_active","is_required","selection_mode","min_selected_products","min_total_quantity","sort_order","created_at","updated_at"],"title":"ProductBundleGroupResponse","description":"Product bundle group response with nested product options."},"ProductBundleGroupUpdate":{"properties":{"group_key":{"anyOf":[{"type":"string","maxLength":120,"minLength":1,"pattern":"^[a-z0-9]+([._-][a-z0-9]+)*$","description":"Lowercase stable slug key."},{"type":"null"}],"title":"Group Key"},"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":20000,"contentMediaType":"text/markdown","description":"CommonMark source for the product bundle group. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"is_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Required"},"selection_mode":{"anyOf":[{"$ref":"#/components/schemas/ProductBundleSelectionMode"},{"type":"null"}]},"min_selected_products":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Min Selected Products"},"max_selected_products":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Max Selected Products"},"min_total_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"},{"type":"null"}],"title":"Min Total Quantity"},"max_total_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"},{"type":"null"}],"title":"Max Total Quantity"},"sort_order":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Sort Order"}},"additionalProperties":false,"type":"object","title":"ProductBundleGroupUpdate","description":"Request payload for updating one product bundle group."},"ProductBundleListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/ProductBundleResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"ProductBundleListResponse","description":"Paginated product bundle response."},"ProductBundleResponse":{"properties":{"product_bundle_id":{"type":"string","format":"uuid4","title":"Product Bundle Id"},"bundle_key":{"type":"string","title":"Bundle Key"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":20000,"contentMediaType":"text/markdown","description":"CommonMark source for the product bundle. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description"},"is_active":{"type":"boolean","title":"Is Active"},"sort_order":{"type":"integer","title":"Sort Order"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"available_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available Until"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"groups":{"items":{"$ref":"#/components/schemas/ProductBundleGroupResponse"},"type":"array","title":"Groups"}},"type":"object","required":["product_bundle_id","bundle_key","name","is_active","sort_order","created_at","updated_at"],"title":"ProductBundleResponse","description":"Product bundle response with nested groups and product options."},"ProductBundleSelection":{"properties":{"product_bundle_group_product_id":{"type":"string","format":"uuid4","title":"Product Bundle Group Product Id"},"quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,7}|(?=[\\d.]{1,10}0*$)\\d{0,7}\\.\\d{0,2}0*$)"}],"title":"Quantity"}},"additionalProperties":false,"type":"object","required":["product_bundle_group_product_id","quantity"],"title":"ProductBundleSelection","description":"One selected product option for product bundle validation."},"ProductBundleSelectionMode":{"type":"string","enum":["single","multiple"],"title":"ProductBundleSelectionMode","description":"Supported selection modes for one product bundle group."},"ProductBundleSelectionValidationError":{"properties":{"code":{"type":"string","title":"Code"},"message":{"type":"string","title":"Message"},"product_bundle_group_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Bundle Group Id"},"product_bundle_group_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Bundle Group Product Id"},"product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Id"},"bundle_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bundle Key"},"group_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Key"}},"type":"object","required":["code","message"],"title":"ProductBundleSelectionValidationError","description":"Structured product bundle selection validation error."},"ProductBundleSelectionValidationRequest":{"properties":{"available_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available On"},"selections":{"items":{"$ref":"#/components/schemas/ProductBundleSelection"},"type":"array","title":"Selections"}},"additionalProperties":false,"type":"object","title":"ProductBundleSelectionValidationRequest","description":"Request payload for validating a product bundle selection."},"ProductBundleSelectionValidationResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"},"errors":{"items":{"$ref":"#/components/schemas/ProductBundleSelectionValidationError"},"type":"array","title":"Errors"}},"type":"object","required":["valid","errors"],"title":"ProductBundleSelectionValidationResponse","description":"Validation result for one product bundle selection."},"ProductBundleUpdate":{"properties":{"bundle_key":{"anyOf":[{"type":"string","maxLength":120,"minLength":1,"pattern":"^[a-z0-9]+([._-][a-z0-9]+)*$","description":"Lowercase stable slug key."},{"type":"null"}],"title":"Bundle Key"},"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":20000,"contentMediaType":"text/markdown","description":"CommonMark source for the product bundle. Raw HTML and images are not allowed. Links must use HTTPS, a root-relative path, an anchor, mailto, or tel."},{"type":"null"}],"title":"Description"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"sort_order":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Sort Order"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"available_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available Until"}},"additionalProperties":false,"type":"object","title":"ProductBundleUpdate","description":"Request payload for updating one product bundle."},"ProductChangeAcceptedResponse":{"properties":{"request_id":{"type":"string","format":"uuid","title":"Request Id"},"process_instance_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Process Instance Id"},"status":{"$ref":"#/components/schemas/ProductChangeStatus"},"submitted_at":{"type":"string","format":"date-time","title":"Submitted At"}},"additionalProperties":false,"type":"object","required":["request_id","status","submitted_at"],"title":"ProductChangeAcceptedResponse"},"ProductChangeFailure":{"properties":{"code":{"type":"string","maxLength":100,"minLength":1,"title":"Code"},"message":{"type":"string","maxLength":300,"minLength":1,"title":"Message"}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"ProductChangeFailure"},"ProductChangeRequest":{"properties":{"requested_products":{"items":{"$ref":"#/components/schemas/RequestedProduct"},"type":"array","maxItems":100,"title":"Requested Products"},"target_max_seats":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Target Max Seats"},"reason":{"type":"string","maxLength":500,"minLength":1,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["reason"],"title":"ProductChangeRequest","description":"Request products, an absolute seat target, or both."},"ProductChangeResult":{"properties":{"product_assignment":{"anyOf":[{"$ref":"#/components/schemas/ProductAssignmentResult"},{"type":"null"}]},"seat_adjustment":{"anyOf":[{"$ref":"#/components/schemas/SeatAdjustmentResult"},{"type":"null"}]},"active_wse_option_names":{"items":{"type":"string"},"type":"array","title":"Active Wse Option Names"},"current_max_seats":{"type":"integer","minimum":1.0,"title":"Current Max Seats"},"seat_schedule":{"items":{"$ref":"#/components/schemas/SeatScheduleElement"},"type":"array","title":"Seat Schedule"}},"additionalProperties":false,"type":"object","required":["product_assignment","seat_adjustment","active_wse_option_names","current_max_seats","seat_schedule"],"title":"ProductChangeResult"},"ProductChangeStatus":{"type":"string","enum":["pending","running","succeeded","failed"],"title":"ProductChangeStatus"},"ProductChangeStatusResponse":{"properties":{"request_id":{"type":"string","format":"uuid","title":"Request Id"},"process_instance_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Process Instance Id"},"status":{"$ref":"#/components/schemas/ProductChangeStatus"},"submitted_at":{"type":"string","format":"date-time","title":"Submitted At"},"result":{"anyOf":[{"$ref":"#/components/schemas/ProductChangeResult"},{"type":"null"}]},"failure":{"anyOf":[{"$ref":"#/components/schemas/ProductChangeFailure"},{"type":"null"}]},"license":{"anyOf":[{"$ref":"#/components/schemas/LicenseInfo"},{"type":"null"}]},"seats":{"anyOf":[{"$ref":"#/components/schemas/SeatLimitResponse"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["request_id","status","submitted_at"],"title":"ProductChangeStatusResponse"},"ProductCompactResponse":{"properties":{"product_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number","description":"Product number of the product","examples":[1]},"product_unit_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Unit Id","description":"Unit ID of the product","examples":["a47a8dba-6622-40d2-b5cc-89341876f729"]},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the product","examples":["Product 1"]},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description","description":"Optional description of the product","examples":["Detailed description of Product 1"]},"account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Account Id","description":"Account ID of the product","examples":["0b803418-3181-4e81-9916-f73d57f46dbf"]},"terms_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Terms Id","description":"Optional duration term ID of the product. Use null to clear the relation on PATCH.","examples":["25f780aa-2bf5-4728-b1f1-b08230503b9f"]},"discountable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Discountable","description":"If true, service-level percentage discounts can be applied to this product during billing","examples":[true]},"pro_rata":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pro Rata","description":"Pro rata of the product","examples":[true]},"cycle_type":{"$ref":"#/components/schemas/CycleType","description":"Cycle type of the product","default":"once","examples":["once","monthly","quarterly","half_yearly","yearly"]},"product_group_id":{"type":"string","format":"uuid4","title":"Product Group Id","description":"Product group ID of the product","examples":["10cf0055-bb74-4657-bd4c-49a785ddb23e"]},"product_id":{"type":"string","format":"uuid4","title":"Product Id","description":"Product ID of the product","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"product_unit":{"anyOf":[{"$ref":"#/components/schemas/ProductUnit"},{"type":"null"}],"description":"Product unit"},"product_group":{"$ref":"#/components/schemas/ProductGroup"},"account":{"$ref":"#/components/schemas/Account"},"terms":{"anyOf":[{"$ref":"#/components/schemas/Terms"},{"type":"null"}],"description":"Terms associated with the product"},"product_features":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProductFeatureResponse"},"type":"array"},{"type":"null"}],"title":"Product Features","description":"Features of the product"},"current_price":{"anyOf":[{"$ref":"#/components/schemas/ProductPriceResponse"},{"type":"null"}],"description":"Current price of the product based on the regular price list. Does not include or consider any intro price."}},"type":"object","required":["product_group_id","product_id","product_group","account"],"title":"ProductCompactResponse"},"ProductCreate":{"properties":{"product_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number","description":"Product number of the product","examples":[1]},"product_unit_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Unit Id","description":"Unit ID of the product","examples":["a47a8dba-6622-40d2-b5cc-89341876f729"]},"description":{"type":"string","maxLength":200,"title":"Description","description":"Name of the product","examples":["Product 1"]},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description","description":"Optional description of the product","examples":["Detailed description of Product 1"]},"account_id":{"type":"string","format":"uuid4","title":"Account Id","description":"Account ID of the product","examples":["0b803418-3181-4e81-9916-f73d57f46dbf"]},"terms_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Terms Id","description":"Optional duration term ID of the product. Use null to clear the relation on PATCH.","examples":["25f780aa-2bf5-4728-b1f1-b08230503b9f"]},"discountable":{"type":"boolean","title":"Discountable","description":"If true, service-level percentage discounts can be applied to this product during billing","default":false,"examples":[true]},"pro_rata":{"type":"boolean","title":"Pro Rata","description":"Pro rata of the product","default":false,"examples":[true]},"cycle_type":{"$ref":"#/components/schemas/CycleType","description":"Cycle type of the product","default":"once","examples":["once","monthly","quarterly","half_yearly","yearly"]},"product_group_id":{"type":"string","format":"uuid4","title":"Product Group Id","description":"Product group ID of the product","examples":["10cf0055-bb74-4657-bd4c-49a785ddb23e"]},"price":{"anyOf":[{"$ref":"#/components/schemas/ProductPriceCreate"},{"type":"null"}],"description":"Initial product price to create together with the product."}},"additionalProperties":false,"type":"object","required":["description","account_id","product_group_id"],"title":"ProductCreate"},"ProductFeature":{"properties":{"product_feature_key_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Feature Key Id","description":"Product feature key ID of the product feature key","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"value":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Value","description":"Value of the product feature","examples":["red","large"]},"product_feature_id":{"type":"string","format":"uuid4","title":"Product Feature Id","description":"Primary key of the product feature","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["product_feature_id","last_change"],"title":"ProductFeature"},"ProductFeatureCreate":{"properties":{"product_feature_key_id":{"type":"string","format":"uuid4","title":"Product Feature Key Id","description":"Product feature key ID of the product feature key","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"value":{"type":"string","maxLength":200,"title":"Value","description":"Value of the product feature","examples":["red","large"]}},"additionalProperties":false,"type":"object","required":["product_feature_key_id","value"],"title":"ProductFeatureCreate"},"ProductFeatureKey":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the product feature key","examples":["color","size"]},"product_feature_key_id":{"type":"string","format":"uuid4","title":"Product Feature Key Id","description":"Primary key of the product feature key","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["product_feature_key_id","last_change"],"title":"ProductFeatureKey"},"ProductFeatureKeyCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Name of the product feature key","examples":["color","size"]}},"additionalProperties":false,"type":"object","required":["description"],"title":"ProductFeatureKeyCreate"},"ProductFeatureKeyListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of product feature keys in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/ProductFeatureKey"},"type":"array","title":"Items","description":"List of product feature keys"}},"type":"object","required":["total_count","items"],"title":"ProductFeatureKeyListResponse"},"ProductFeatureKeyUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the product feature key","examples":["color","size"]}},"additionalProperties":false,"type":"object","title":"ProductFeatureKeyUpdate"},"ProductFeatureListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of product features in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/ProductFeatureResponse"},"type":"array","title":"Items","description":"List of product features"}},"type":"object","required":["total_count","items"],"title":"ProductFeatureListResponse"},"ProductFeatureResponse":{"properties":{"product_feature_key_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Feature Key Id","description":"Product feature key ID of the product feature key","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"value":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Value","description":"Value of the product feature","examples":["red","large"]},"product_feature_id":{"type":"string","format":"uuid4","title":"Product Feature Id","description":"Primary key of the product feature","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"product_feature_key":{"$ref":"#/components/schemas/ProductFeatureKey"}},"type":"object","required":["product_feature_id","last_change","product_feature_key"],"title":"ProductFeatureResponse"},"ProductFeatureUpdate":{"properties":{"product_feature_key_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Feature Key Id","description":"Product feature key ID of the product feature key","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"value":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Value","description":"Value of the product feature","examples":["red","large"]}},"additionalProperties":false,"type":"object","title":"ProductFeatureUpdate"},"ProductGroup":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the product group","examples":["Grundgebühr"]},"product_group_id":{"type":"string","format":"uuid4","title":"Product Group Id","description":"Product group ID of the product group","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["product_group_id","last_change"],"title":"ProductGroup"},"ProductGroupCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the product group","examples":["Grundgebühr"]}},"additionalProperties":false,"type":"object","required":["description"],"title":"ProductGroupCreate"},"ProductGroupListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of product groups in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/ProductGroup"},"type":"array","title":"Items","description":"List of product groups"}},"type":"object","required":["total_count","items"],"title":"ProductGroupListResponse"},"ProductGroupUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the product group","examples":["Grundgebühr"]}},"additionalProperties":false,"type":"object","title":"ProductGroupUpdate"},"ProductImportSuccess":{"properties":{"status":{"type":"string","title":"Status","default":"accepted"},"total_rows":{"type":"integer","title":"Total Rows"},"created_products":{"type":"integer","title":"Created Products"},"updated_products":{"type":"integer","title":"Updated Products"},"created_prices":{"type":"integer","title":"Created Prices"},"import_date":{"type":"string","format":"date","title":"Import Date"}},"type":"object","required":["total_rows","created_products","updated_products","created_prices","import_date"],"title":"ProductImportSuccess","description":"Structured success response for an accepted product CSV import."},"ProductListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of products in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/ProductCompactResponse"},"type":"array","title":"Items","description":"List of products"}},"type":"object","required":["total_count","items"],"title":"ProductListResponse"},"ProductPrice":{"properties":{"net_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Net Price","description":"Net price of the product price.","examples":["10.00"]},"tax_type_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Tax Type Id","description":"Tax ID of the product price.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"valid_from":{"type":"string","format":"date","title":"Valid From","description":"Valid from of the product price. If omitted, it is valid from the beginning.","default":"1900-01-01","examples":["2021-01-01"]},"intro_net_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Intro Net Price","description":"Optional intro net price (valid for intro_duration_months).","examples":["7.50"]},"intro_duration_months":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Intro Duration Months","description":"Optional intro duration in months (must be set if intro_net_price is set).","examples":[6]},"product_price_id":{"type":"string","format":"uuid4","title":"Product Price Id","description":"Price ID of the product price.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["product_price_id","last_change"],"title":"ProductPrice"},"ProductPriceCreate":{"properties":{"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Net Price","description":"Net price of the product price.","examples":["10.00"]},"tax_type_id":{"type":"string","format":"uuid4","title":"Tax Type Id","description":"Tax ID of the product price.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"valid_from":{"type":"string","format":"date","title":"Valid From","description":"Valid from of the product price. If omitted, it is valid from the beginning.","default":"1900-01-01","examples":["2021-01-01"]},"intro_net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Intro Net Price","description":"Optional intro net price (valid for intro_duration_months).","examples":["7.50"]},"intro_duration_months":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Intro Duration Months","description":"Optional intro duration in months (must be set if intro_net_price is set).","examples":[6]}},"additionalProperties":false,"type":"object","required":["net_price","tax_type_id"],"title":"ProductPriceCreate"},"ProductPriceListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of product prices in the database.","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/ProductPriceResponse"},"type":"array","title":"Items","description":"List of product prices."}},"type":"object","required":["total_count","items"],"title":"ProductPriceListResponse"},"ProductPriceResponse":{"properties":{"net_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Net Price","description":"Net price of the product price.","examples":["10.00"]},"tax_type_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Tax Type Id","description":"Tax ID of the product price.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"valid_from":{"type":"string","format":"date","title":"Valid From","description":"Valid from of the product price. If omitted, it is valid from the beginning.","default":"1900-01-01","examples":["2021-01-01"]},"intro_net_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Intro Net Price","description":"Optional intro net price (valid for intro_duration_months).","examples":["7.50"]},"intro_duration_months":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Intro Duration Months","description":"Optional intro duration in months (must be set if intro_net_price is set).","examples":[6]},"product_price_id":{"type":"string","format":"uuid4","title":"Product Price Id","description":"Price ID of the product price.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"tax_type":{"$ref":"#/components/schemas/TaxType"},"gross_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Gross Price","description":"Gross price of the product price. Calculated in the service layer using net_price and tax_type.taxrate.","examples":["11.90"]},"intro_gross_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Intro Gross Price","description":"Gross intro price of the product price (only if intro fields are set). Calculated in the service layer using intro_net_price and tax_type.taxrate.","examples":["8.93"]}},"type":"object","required":["product_price_id","last_change","tax_type"],"title":"ProductPriceResponse","description":"Note: Monetary derived fields are calculated in the service layer to avoid business logic in schemas."},"ProductPriceUpdate":{"properties":{"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Net Price","description":"Net price of the product price.","examples":["10.00"]},"tax_type_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Tax Type Id","description":"Tax ID of the product price.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"valid_from":{"type":"string","format":"date","title":"Valid From","description":"Valid from of the product price. If omitted, it is valid from the beginning.","default":"1900-01-01","examples":["2021-01-01"]},"intro_net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Intro Net Price","description":"Optional intro net price (valid for intro_duration_months).","examples":["7.50"]},"intro_duration_months":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Intro Duration Months","description":"Optional intro duration in months (must be set if intro_net_price is set).","examples":[6]}},"additionalProperties":false,"type":"object","title":"ProductPriceUpdate"},"ProductRelationship":{"properties":{"product_relationship_id":{"type":"string","format":"uuid4","title":"Product Relationship Id"},"product_relationship_type_id":{"type":"string","format":"uuid4","title":"Product Relationship Type Id"},"product_relationship_type_role_id":{"type":"string","format":"uuid4","title":"Product Relationship Type Role Id"},"product_id":{"type":"string","format":"uuid4","title":"Product Id"},"related_product_id":{"type":"string","format":"uuid4","title":"Related Product Id"},"relationship_type_description":{"type":"string","maxLength":200,"minLength":1,"title":"Relationship Type Description"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["product_relationship_id","product_relationship_type_id","product_relationship_type_role_id","product_id","related_product_id","relationship_type_description","last_change"],"title":"ProductRelationship"},"ProductRelationshipCreate":{"properties":{"related_product_id":{"type":"string","format":"uuid4","title":"Related Product Id"},"product_relationship_type_role_id":{"type":"string","format":"uuid4","title":"Product Relationship Type Role Id"}},"additionalProperties":false,"type":"object","required":["related_product_id","product_relationship_type_role_id"],"title":"ProductRelationshipCreate"},"ProductRelationshipListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/ProductRelationship"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"ProductRelationshipListResponse"},"ProductRelationshipType":{"properties":{"product_relationship_type_id":{"type":"string","format":"uuid4","title":"Product Relationship Type Id"},"product_relationship_type_role_id":{"type":"string","format":"uuid4","title":"Product Relationship Type Role Id"},"description":{"type":"string","maxLength":200,"minLength":1,"title":"Description"},"is_symmetric":{"type":"boolean","title":"Is Symmetric"},"inverse_product_relationship_type_role_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Inverse Product Relationship Type Role Id"},"inverse_description":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Inverse Description"},"is_in_use":{"type":"boolean","title":"Is In Use"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["product_relationship_type_id","product_relationship_type_role_id","description","is_symmetric","is_in_use","last_change"],"title":"ProductRelationshipType"},"ProductRelationshipTypeCreate":{"properties":{"description":{"type":"string","maxLength":200,"minLength":1,"title":"Description"},"is_symmetric":{"type":"boolean","title":"Is Symmetric"},"inverse_description":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Inverse Description"}},"additionalProperties":false,"type":"object","required":["description","is_symmetric"],"title":"ProductRelationshipTypeCreate"},"ProductRelationshipTypeListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/ProductRelationshipType"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"ProductRelationshipTypeListResponse"},"ProductRelationshipTypeUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Description"},"inverse_description":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Inverse Description"}},"additionalProperties":false,"type":"object","title":"ProductRelationshipTypeUpdate"},"ProductRelationshipUpdate":{"properties":{"related_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Related Product Id","description":"Product ID of the related product","examples":["XXXXXXXX-XXXX-4XXX-8XXX-XXXXXXXXXXXX"]},"product_relationship_type_role_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Relationship Type Role Id","description":"Directional product relationship type role ID","examples":["XXXXXXXX-XXXX-4XXX-8XXX-XXXXXXXXXXXX"]}},"additionalProperties":false,"type":"object","title":"ProductRelationshipUpdate"},"ProductResponse":{"properties":{"product_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number","description":"Product number of the product","examples":[1]},"product_unit_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Unit Id","description":"Unit ID of the product","examples":["a47a8dba-6622-40d2-b5cc-89341876f729"]},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the product","examples":["Product 1"]},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description","description":"Optional description of the product","examples":["Detailed description of Product 1"]},"account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Account Id","description":"Account ID of the product","examples":["0b803418-3181-4e81-9916-f73d57f46dbf"]},"terms_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Terms Id","description":"Optional duration term ID of the product. Use null to clear the relation on PATCH.","examples":["25f780aa-2bf5-4728-b1f1-b08230503b9f"]},"discountable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Discountable","description":"If true, service-level percentage discounts can be applied to this product during billing","examples":[true]},"pro_rata":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pro Rata","description":"Pro rata of the product","examples":[true]},"cycle_type":{"$ref":"#/components/schemas/CycleType","description":"Cycle type of the product","default":"once","examples":["once","monthly","quarterly","half_yearly","yearly"]},"product_group_id":{"type":"string","format":"uuid4","title":"Product Group Id","description":"Product group ID of the product","examples":["10cf0055-bb74-4657-bd4c-49a785ddb23e"]},"product_id":{"type":"string","format":"uuid4","title":"Product Id","description":"Product ID of the product","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"product_unit":{"anyOf":[{"$ref":"#/components/schemas/ProductUnit"},{"type":"null"}],"description":"Product unit"},"product_group":{"$ref":"#/components/schemas/ProductGroup"},"account":{"$ref":"#/components/schemas/Account"},"terms":{"anyOf":[{"$ref":"#/components/schemas/Terms"},{"type":"null"}],"description":"Terms associated with the product"},"product_feature":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProductFeatureResponse"},"type":"array"},{"type":"null"}],"title":"Product Feature","description":"Features of the product"},"product_prices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProductPriceResponse"},"type":"array"},{"type":"null"}],"title":"Product Prices","description":"Historical price details of the product"},"current_price":{"anyOf":[{"$ref":"#/components/schemas/ProductPriceResponse"},{"type":"null"}],"description":"Current price of the product"},"product_relationships":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProductRelationship"},"type":"array"},{"type":"null"}],"title":"Product Relationships","description":"Relationships from this product to other products"}},"type":"object","required":["product_group_id","product_id","product_group","account"],"title":"ProductResponse"},"ProductUnit":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the product unit","examples":["kg","m","stk"]},"product_unit_id":{"type":"string","format":"uuid4","title":"Product Unit Id","description":"Product unit ID of the product unit","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["product_unit_id","last_change"],"title":"ProductUnit"},"ProductUnitCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the product unit","examples":["kg","m","stk"]}},"additionalProperties":false,"type":"object","required":["description"],"title":"ProductUnitCreate"},"ProductUnitListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of product units in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/ProductUnit"},"type":"array","title":"Items","description":"List of product units"}},"type":"object","required":["total_count","items"],"title":"ProductUnitListResponse"},"ProductUnitUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the product unit","examples":["kg","m","stk"]}},"additionalProperties":false,"type":"object","title":"ProductUnitUpdate"},"ProductUpdate":{"properties":{"product_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number","description":"Product number of the product","examples":[1]},"product_unit_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Unit Id","description":"Unit ID of the product","examples":["a47a8dba-6622-40d2-b5cc-89341876f729"]},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Name of the product","examples":["Product 1"]},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description","description":"Optional description of the product","examples":["Detailed description of Product 1"]},"account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Account Id","description":"Account ID of the product","examples":["0b803418-3181-4e81-9916-f73d57f46dbf"]},"terms_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Terms Id","description":"Optional duration term ID of the product. Use null to clear the relation on PATCH.","examples":["25f780aa-2bf5-4728-b1f1-b08230503b9f"]},"discountable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Discountable","description":"If true, service-level percentage discounts can be applied to this product during billing","examples":[true]},"pro_rata":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pro Rata","description":"Pro rata of the product","examples":[true]},"cycle_type":{"anyOf":[{"$ref":"#/components/schemas/CycleType"},{"type":"null"}],"description":"Cycle type of the product","examples":["once","monthly","quarterly","half_yearly","yearly"]},"product_group_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Product Group Id","description":"Product group ID of the product","examples":["10cf0055-bb74-4657-bd4c-49a785ddb23e"]}},"additionalProperties":false,"type":"object","title":"ProductUpdate"},"QueryDefinition-Input":{"properties":{"version":{"type":"integer","const":1,"title":"Version","default":1},"dataset":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$","title":"Dataset"},"select":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Select"},"filter":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/ComparisonFilter-Input"},{"$ref":"#/components/schemas/LogicalFilter-Input"},{"$ref":"#/components/schemas/TruthFilter-Input"}],"discriminator":{"propertyName":"kind","mapping":{"comparison":"#/components/schemas/ComparisonFilter-Input","logical":"#/components/schemas/LogicalFilter-Input","truth":"#/components/schemas/TruthFilter-Input"}}},{"type":"null"}],"title":"Filter"},"group_by":{"items":{"$ref":"#/components/schemas/Grouping"},"type":"array","maxItems":10,"title":"Group By"},"aggregates":{"items":{"$ref":"#/components/schemas/Aggregate"},"type":"array","maxItems":20,"title":"Aggregates"},"order_by":{"items":{"$ref":"#/components/schemas/Ordering"},"type":"array","maxItems":10,"title":"Order By"}},"additionalProperties":false,"type":"object","required":["dataset"],"title":"QueryDefinition"},"QueryDefinition-Output":{"properties":{"version":{"type":"integer","const":1,"title":"Version","default":1},"dataset":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$","title":"Dataset"},"select":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Select"},"filter":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/ComparisonFilter-Output"},{"$ref":"#/components/schemas/LogicalFilter-Output"},{"$ref":"#/components/schemas/TruthFilter-Output"}],"discriminator":{"propertyName":"kind","mapping":{"comparison":"#/components/schemas/ComparisonFilter-Output","logical":"#/components/schemas/LogicalFilter-Output","truth":"#/components/schemas/TruthFilter-Output"}}},{"type":"null"}],"title":"Filter"},"group_by":{"items":{"$ref":"#/components/schemas/Grouping"},"type":"array","maxItems":10,"title":"Group By"},"aggregates":{"items":{"$ref":"#/components/schemas/Aggregate"},"type":"array","maxItems":20,"title":"Aggregates"},"order_by":{"items":{"$ref":"#/components/schemas/Ordering"},"type":"array","maxItems":10,"title":"Order By"}},"additionalProperties":false,"type":"object","required":["dataset"],"title":"QueryDefinition"},"QueryRequest":{"properties":{"page_size":{"type":"integer","maximum":2000.0,"minimum":1.0,"title":"Page Size","default":500},"cursor":{"anyOf":[{"type":"string","maxLength":16384},{"type":"null"}],"title":"Cursor"},"include_count":{"type":"boolean","title":"Include Count","default":false},"definition":{"$ref":"#/components/schemas/QueryDefinition-Input"},"visualization":{"anyOf":[{"$ref":"#/components/schemas/Visualization"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["definition"],"title":"QueryRequest"},"QueryResponse":{"properties":{"reference_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Reference Date"},"query_revision":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Query Revision"},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period End"},"columns":{"items":{"$ref":"#/components/schemas/ColumnDescription"},"type":"array","title":"Columns"},"rows":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"string","format":"uuid"},{"type":"string","format":"date"},{"type":"string","format":"date-time"},{"type":"null"}]},"type":"object"},"type":"array","title":"Rows"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"}},"additionalProperties":false,"type":"object","required":["columns","rows"],"title":"QueryResponse"},"QuotationCreate":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"quotation_date":{"type":"string","format":"date","title":"Quotation Date","description":"Quotation date","examples":["2024-01-01"]},"positions":{"items":{"$ref":"#/components/schemas/QuotationPositionCreate"},"type":"array","title":"Positions"}},"additionalProperties":false,"type":"object","required":["service_date","due_date","street","house_number","postcode","city","quotation_date","positions"],"title":"QuotationCreate"},"QuotationFromQuotationRequest":{"properties":{"quotation_id":{"type":"string","format":"uuid4","title":"Quotation Id"},"quotation_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Quotation Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"}},"additionalProperties":false,"type":"object","required":["quotation_id"],"title":"QuotationFromQuotationRequest"},"QuotationIdResponse":{"properties":{"quotation_id":{"type":"string","format":"uuid4","title":"Quotation Id"}},"type":"object","required":["quotation_id"],"title":"QuotationIdResponse"},"QuotationListItem":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"quotation_date":{"type":"string","format":"date","title":"Quotation Date","description":"Quotation date","examples":["2024-01-01"]},"quotation_id":{"type":"string","format":"uuid4","title":"Quotation Id"},"quotation_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quotation No"},"quotation_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quotation Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/LinkedDocumentSummary"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","quotation_date","quotation_id","status"],"title":"QuotationListItem"},"QuotationListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/QuotationListItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"QuotationListResponse"},"QuotationPositionCreate":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Price","examples":["100.00"]},"tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Rate","examples":["100.00"]},"product_count":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"}},"additionalProperties":false,"type":"object","required":["product_text","net_price","tax_rate","product_count"],"title":"QuotationPositionCreate"},"QuotationPositionDetailed":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Net Price","examples":["100.00"]},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Tax Rate","examples":["100.00"]},"product_count":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"},"product_number_snapshot":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number Snapshot","description":"Product number snapshot captured when the position was created"},"product_group_name_snapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Group Name Snapshot","description":"Product group name snapshot captured when the position was created"},"quotation_position_id":{"type":"string","format":"uuid4","title":"Quotation Position Id"},"position":{"type":"integer","title":"Position"},"full_price_net":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Net"},"full_price_gross":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Gross"},"tax":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax"}},"type":"object","required":["product_text","net_price","tax_rate","product_count","quotation_position_id","position"],"title":"QuotationPositionDetailed"},"QuotationPositionUpdate":{"properties":{"product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Net Price"},"tax_rate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Tax Rate"},"product_count":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Product Count"},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id"}},"additionalProperties":false,"type":"object","title":"QuotationPositionUpdate"},"QuotationResponse":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"quotation_date":{"type":"string","format":"date","title":"Quotation Date","description":"Quotation date","examples":["2024-01-01"]},"quotation_id":{"type":"string","format":"uuid4","title":"Quotation Id"},"quotation_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quotation No"},"quotation_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quotation Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"positions":{"items":{"$ref":"#/components/schemas/QuotationPositionDetailed"},"type":"array","title":"Positions"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/DocumentResponse"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","quotation_date","quotation_id","status","positions"],"title":"QuotationResponse"},"QuotationUpdate":{"properties":{"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number"},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"house_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District"},"quotation_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Quotation Date"}},"additionalProperties":false,"type":"object","title":"QuotationUpdate"},"RecurringBillingTiming":{"type":"string","enum":["period_start","period_end"],"title":"RecurringBillingTiming"},"RecurringServicePriceTotals":{"properties":{"net_before_discount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Net Before Discount"},"discount_net":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Discount Net"},"net":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Net"},"tax":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Tax"},"gross":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Gross"},"cycle_type":{"type":"string","enum":["monthly","quarterly","half_yearly","yearly"],"title":"Cycle Type"}},"type":"object","required":["net_before_discount","discount_net","net","tax","gross","cycle_type"],"title":"RecurringServicePriceTotals","description":"Aggregated prices for one recurring billing interval."},"ReplaceTenantUserRolesRequest":{"properties":{"role_keys":{"items":{"type":"string"},"type":"array","maxItems":50,"minItems":1,"title":"Role Keys"}},"additionalProperties":false,"type":"object","required":["role_keys"],"title":"ReplaceTenantUserRolesRequest","description":"Request payload for replacing all managed roles on one user."},"ReportPeriod":{"properties":{"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period End"},"relative_months":{"anyOf":[{"type":"integer","maximum":1200.0,"minimum":1.0},{"type":"null"}],"title":"Relative Months"}},"additionalProperties":false,"type":"object","title":"ReportPeriod"},"ReportingExecutionContext":{"properties":{"reference_date":{"type":"string","format":"date","title":"Reference Date"}},"additionalProperties":false,"type":"object","required":["reference_date"],"title":"ReportingExecutionContext"},"RequestedProduct":{"properties":{"product_id":{"type":"string","format":"uuid","title":"Product Id"},"count":{"type":"integer","maximum":1000000.0,"minimum":1.0,"title":"Count"}},"additionalProperties":false,"type":"object","required":["product_id","count"],"title":"RequestedProduct","description":"One immutable ERP product assignment request."},"ResendRequest":{"properties":{"reason":{"type":"string","maxLength":500,"minLength":10,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["reason"],"title":"ResendRequest"},"RunResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"state":{"type":"string","title":"State"},"start_date":{"type":"string","format":"date","title":"Start Date"},"end_date":{"type":"string","format":"date","title":"End Date"},"config_snapshot":{"$ref":"#/components/schemas/Configuration"},"documents":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Documents"},"artifacts":{"items":{"$ref":"#/components/schemas/ArtifactResponse"},"type":"array","title":"Artifacts"},"approved_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved By"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"}},"additionalProperties":false,"type":"object","required":["id","created_at","state","start_date","end_date","config_snapshot","documents","artifacts","approved_by","error_code"],"title":"RunResponse"},"Salutation":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the salutation","examples":["Herr"]},"salutation_id":{"type":"string","format":"uuid4","title":"Salutation Id","description":"Salutation ID of the salutation","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["salutation_id","last_change"],"title":"Salutation"},"SalutationCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the salutation","examples":["Herr"]}},"additionalProperties":false,"type":"object","required":["description"],"title":"SalutationCreate"},"SalutationListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of records in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/Salutation"},"type":"array","title":"Items","description":"List of records"}},"type":"object","required":["total_count","items"],"title":"SalutationListResponse"},"SalutationUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the salutation","examples":["Herr"]}},"additionalProperties":false,"type":"object","title":"SalutationUpdate"},"SavedQueryCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"pattern":"\\S","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"visibility":{"type":"string","enum":["private","shared"],"title":"Visibility","default":"private"},"definition":{"$ref":"#/components/schemas/QueryDefinition-Input"},"visualization":{"anyOf":[{"$ref":"#/components/schemas/Visualization"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["name","definition"],"title":"SavedQueryCreate"},"SavedQueryList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SavedQueryResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Next Cursor"}},"additionalProperties":false,"type":"object","required":["items"],"title":"SavedQueryList"},"SavedQueryResponse":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"pattern":"\\S","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"visibility":{"type":"string","enum":["private","shared"],"title":"Visibility","default":"private"},"definition":{"$ref":"#/components/schemas/QueryDefinition-Output"},"visualization":{"anyOf":[{"$ref":"#/components/schemas/Visualization"},{"type":"null"}]},"query_id":{"type":"string","format":"uuid","title":"Query Id"},"owner_actor_id":{"type":"string","format":"uuid","title":"Owner Actor Id"},"revision":{"type":"integer","title":"Revision"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"additionalProperties":false,"type":"object","required":["name","definition","query_id","owner_actor_id","revision","created_at","updated_at"],"title":"SavedQueryResponse"},"SavedQueryUpdate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"pattern":"\\S","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"visibility":{"type":"string","enum":["private","shared"],"title":"Visibility","default":"private"},"definition":{"$ref":"#/components/schemas/QueryDefinition-Input"},"visualization":{"anyOf":[{"$ref":"#/components/schemas/Visualization"},{"type":"null"}]},"revision":{"type":"integer","minimum":1.0,"title":"Revision"}},"additionalProperties":false,"type":"object","required":["name","definition","revision"],"title":"SavedQueryUpdate"},"SavedReportExecution":{"properties":{"page_size":{"type":"integer","maximum":2000.0,"minimum":1.0,"title":"Page Size","default":500},"cursor":{"anyOf":[{"type":"string","maxLength":16384},{"type":"null"}],"title":"Cursor"},"include_count":{"type":"boolean","title":"Include Count","default":false},"period":{"anyOf":[{"$ref":"#/components/schemas/ReportPeriod"},{"type":"null"}]},"period_field":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},{"type":"null"}],"title":"Period Field"},"reference_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Reference Date"},"query_revision":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Query Revision"}},"additionalProperties":false,"type":"object","title":"SavedReportExecution"},"SeatAdjustmentResult":{"properties":{"previous_max_seats":{"type":"integer","minimum":1.0,"title":"Previous Max Seats"},"target_max_seats":{"type":"integer","minimum":1.0,"title":"Target Max Seats"},"effective_max_seats":{"type":"integer","minimum":1.0,"title":"Effective Max Seats"},"change_kind":{"type":"string","enum":["unchanged","increased","reduction_scheduled"],"title":"Change Kind"},"seat_schedule":{"items":{"$ref":"#/components/schemas/SeatScheduleElement"},"type":"array","title":"Seat Schedule"}},"additionalProperties":false,"type":"object","required":["previous_max_seats","target_max_seats","effective_max_seats","change_kind","seat_schedule"],"title":"SeatAdjustmentResult"},"SeatLimitResponse":{"properties":{"current_seat_limit":{"type":"integer","minimum":0.0,"title":"Current Seat Limit","description":"Configured seat limit"},"active_user_count":{"type":"integer","minimum":0.0,"title":"Active User Count","description":"Number of currently active users"},"pending_invitation_count":{"type":"integer","minimum":0.0,"title":"Pending Invitation Count","description":"Number of pending invitations"},"available_seats":{"type":"integer","title":"Available Seats","description":"Remaining seats based on current limit and current usage"}},"type":"object","required":["current_seat_limit","active_user_count","pending_invitation_count","available_seats"],"title":"SeatLimitResponse"},"SeatScheduleElement":{"properties":{"date_active":{"type":"string","format":"date","title":"Date Active"},"max_seats":{"type":"integer","minimum":0.0,"title":"Max Seats"}},"additionalProperties":false,"type":"object","required":["date_active","max_seats"],"title":"SeatScheduleElement"},"SelfBillingInvoiceCreate":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"self_billing_invoice_date":{"type":"string","format":"date","title":"Self Billing Invoice Date","description":"Self-billing invoice date","examples":["2024-01-01"]},"positions":{"items":{"$ref":"#/components/schemas/SelfBillingInvoicePositionCreate"},"type":"array","title":"Positions"}},"additionalProperties":false,"type":"object","required":["service_date","due_date","street","house_number","postcode","city","self_billing_invoice_date","positions"],"title":"SelfBillingInvoiceCreate"},"SelfBillingInvoiceFromSelfBillingInvoiceRequest":{"properties":{"self_billing_invoice_id":{"type":"string","format":"uuid4","title":"Self Billing Invoice Id"},"self_billing_invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Self Billing Invoice Date"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"}},"additionalProperties":false,"type":"object","required":["self_billing_invoice_id"],"title":"SelfBillingInvoiceFromSelfBillingInvoiceRequest"},"SelfBillingInvoiceIdResponse":{"properties":{"self_billing_invoice_id":{"type":"string","format":"uuid4","title":"Self Billing Invoice Id"}},"type":"object","required":["self_billing_invoice_id"],"title":"SelfBillingInvoiceIdResponse"},"SelfBillingInvoiceListItem":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"self_billing_invoice_date":{"type":"string","format":"date","title":"Self Billing Invoice Date","description":"Self-billing invoice date","examples":["2024-01-01"]},"self_billing_invoice_id":{"type":"string","format":"uuid4","title":"Self Billing Invoice Id"},"self_billing_invoice_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Self Billing Invoice No"},"self_billing_invoice_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Self Billing Invoice Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/LinkedDocumentSummary"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","self_billing_invoice_date","self_billing_invoice_id","status"],"title":"SelfBillingInvoiceListItem"},"SelfBillingInvoiceListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/SelfBillingInvoiceListItem"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"SelfBillingInvoiceListResponse"},"SelfBillingInvoicePositionCreate":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Net Price","examples":["100.00"]},"tax_rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Tax Rate","examples":["100.00"]},"product_count":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"}},"additionalProperties":false,"type":"object","required":["product_text","net_price","tax_rate","product_count"],"title":"SelfBillingInvoicePositionCreate"},"SelfBillingInvoicePositionDetailed":{"properties":{"product_text":{"type":"string","title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Net Price","examples":["100.00"]},"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Tax Rate","examples":["100.00"]},"product_count":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Product Count","examples":["100.00"]},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id","description":"Optional drilldown to the originating product"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id","description":"Optional drilldown to the originating service"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id","description":"Optional drilldown to the originating service product"},"product_number_snapshot":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Number Snapshot","description":"Product number snapshot captured when the position was created"},"product_group_name_snapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Group Name Snapshot","description":"Product group name snapshot captured when the position was created"},"self_billing_invoice_position_id":{"type":"string","format":"uuid4","title":"Self Billing Invoice Position Id"},"position":{"type":"integer","title":"Position"},"full_price_net":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Net"},"full_price_gross":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Full Price Gross"},"tax":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax"}},"type":"object","required":["product_text","net_price","tax_rate","product_count","self_billing_invoice_position_id","position"],"title":"SelfBillingInvoicePositionDetailed"},"SelfBillingInvoicePositionUpdate":{"properties":{"product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Text"},"product_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Description"},"net_price":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Net Price"},"tax_rate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Tax Rate"},"product_count":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)"}],"examples":["100.00"]},{"type":"null"}],"title":"Product Count"},"service_date_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date From"},"service_date_to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date To"},"product_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Unit"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"account_no":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account No"},"source_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Product Id"},"source_service_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Id"},"source_service_product_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Source Service Product Id"}},"additionalProperties":false,"type":"object","title":"SelfBillingInvoicePositionUpdate"},"SelfBillingInvoiceResponse":{"properties":{"service_date":{"type":"string","format":"date","title":"Service Date","description":"Service date","examples":["2024-01-01"]},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id","description":"Customer ID"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No","description":"Debitor account number snapshot"},"due_date":{"type":"string","format":"date","title":"Due Date","description":"Due date","examples":["2024-01-31"]},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number","description":"Optional reference number of the commercial document","examples":["RE-10042"]},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation","description":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Last name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","description":"First name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company","description":"Company"},"street":{"type":"string","title":"Street","description":"Street"},"house_number":{"type":"string","title":"House Number","description":"House number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition","description":"House number addition"},"postcode":{"type":"string","title":"Postcode","description":"Postcode"},"city":{"type":"string","title":"City","description":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District","description":"District"},"self_billing_invoice_date":{"type":"string","format":"date","title":"Self Billing Invoice Date","description":"Self-billing invoice date","examples":["2024-01-01"]},"self_billing_invoice_id":{"type":"string","format":"uuid4","title":"Self Billing Invoice Id"},"self_billing_invoice_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Self Billing Invoice No"},"self_billing_invoice_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Self Billing Invoice Prefix"},"status":{"$ref":"#/components/schemas/CommercialDocumentStatus"},"positions":{"items":{"$ref":"#/components/schemas/SelfBillingInvoicePositionDetailed"},"type":"array","title":"Positions"},"net_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Net Sum"},"tax_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Tax Sum"},"tax":{"items":{"$ref":"#/components/schemas/TaxSummary"},"type":"array","title":"Tax"},"gross_sum":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","examples":["100.00"]},{"type":"null"}],"title":"Gross Sum"},"document":{"anyOf":[{"$ref":"#/components/schemas/DocumentResponse"},{"type":"null"}]}},"type":"object","required":["service_date","due_date","street","house_number","postcode","city","self_billing_invoice_date","self_billing_invoice_id","status","positions"],"title":"SelfBillingInvoiceResponse"},"SelfBillingInvoiceUpdate":{"properties":{"service_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Service Date"},"customer_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Customer Id"},"debitor_account_no":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Debitor Account No"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"reference_number":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Reference Number"},"salutation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salutation"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"house_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number"},"house_number_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"House Number Addition"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District"},"self_billing_invoice_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Self Billing Invoice Date"}},"additionalProperties":false,"type":"object","title":"SelfBillingInvoiceUpdate"},"SepaSequenceType":{"type":"string","enum":["OOFF","FRST","RCUR","FNAL"],"title":"SepaSequenceType"},"Service":{"properties":{"service_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Number","description":"Service number of the service","examples":[1]},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the duration terms","examples":["Default"]},"discount_percentage":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,3}|(?=[\\d.]{1,8}0*$)\\d{0,3}\\.\\d{0,4}0*$)","title":"Discount Percentage","description":"Percentage discount applied to all discountable products of the service","default":"0.0000","examples":["1.05"]},"terms_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Terms Id","description":"Duration term ID of the service","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date active of the service","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date deactive of the service","examples":["2022-01-01"]},"date_signed":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Signed","description":"Date signed of the service","examples":["2021-01-10"]},"date_created":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Created","description":"Date created of the service","examples":["2021-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Duration start date of the service","examples":["2021-01-01"]},"service_id":{"type":"string","format":"uuid4","title":"Service Id","description":"Contract ID of the service","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the customer","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["service_id","customer_id","last_change"],"title":"Service"},"ServiceAttribute":{"properties":{"service_attribute_key_id":{"type":"string","format":"uuid4","title":"Service Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"},"service_attribute_id":{"type":"string","format":"uuid4","title":"Service Attribute Id"},"service_id":{"type":"string","format":"uuid4","title":"Service Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["service_attribute_key_id","service_attribute_id","service_id","last_change"],"title":"ServiceAttribute"},"ServiceAttributeCreate":{"properties":{"service_attribute_key_id":{"type":"string","format":"uuid4","title":"Service Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"}},"additionalProperties":false,"type":"object","required":["service_attribute_key_id"],"title":"ServiceAttributeCreate"},"ServiceAttributeKey":{"properties":{"key":{"type":"string","title":"Key"},"value_type":{"type":"string","enum":["string","int","decimal","bool","date","datetime"],"title":"Value Type"},"is_required":{"type":"boolean","title":"Is Required"},"is_sensitive":{"type":"boolean","title":"Is Sensitive"},"is_unique_per_entity":{"type":"boolean","title":"Is Unique Per Entity"},"service_attribute_key_id":{"type":"string","format":"uuid4","title":"Service Attribute Key Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["key","value_type","is_required","is_sensitive","is_unique_per_entity","service_attribute_key_id","last_change"],"title":"ServiceAttributeKey"},"ServiceAttributeKeyCreate":{"properties":{"key":{"type":"string","maxLength":100,"minLength":1,"title":"Key"},"value_type":{"type":"string","enum":["string","int","decimal","bool","date","datetime"],"title":"Value Type"},"is_required":{"type":"boolean","title":"Is Required","default":false},"is_sensitive":{"type":"boolean","title":"Is Sensitive","default":false},"is_unique_per_entity":{"type":"boolean","title":"Is Unique Per Entity","default":true}},"additionalProperties":false,"type":"object","required":["key","value_type"],"title":"ServiceAttributeKeyCreate"},"ServiceAttributeKeyListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/ServiceAttributeKey"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"ServiceAttributeKeyListResponse"},"ServiceAttributeKeyUpdate":{"properties":{"key":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Key"},"value_type":{"anyOf":[{"type":"string","enum":["string","int","decimal","bool","date","datetime"]},{"type":"null"}],"title":"Value Type"},"is_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Required"},"is_sensitive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Sensitive"},"is_unique_per_entity":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Unique Per Entity"}},"additionalProperties":false,"type":"object","title":"ServiceAttributeKeyUpdate"},"ServiceAttributeListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/ServiceAttributeResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"ServiceAttributeListResponse"},"ServiceAttributeResponse":{"properties":{"service_attribute_key_id":{"type":"string","format":"uuid4","title":"Service Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"},"service_attribute_id":{"type":"string","format":"uuid4","title":"Service Attribute Id"},"service_id":{"type":"string","format":"uuid4","title":"Service Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"attribute_key":{"$ref":"#/components/schemas/ServiceAttributeKey"}},"type":"object","required":["service_attribute_key_id","service_attribute_id","service_id","last_change","attribute_key"],"title":"ServiceAttributeResponse"},"ServiceAttributeUpdate":{"properties":{"service_attribute_key_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"}},"additionalProperties":false,"type":"object","title":"ServiceAttributeUpdate"},"ServiceCreate":{"properties":{"service_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Number","description":"Service number of the service","examples":[1]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the service","examples":["Service 1"]},"discount_percentage":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,3}|(?=[\\d.]{1,8}0*$)\\d{0,3}\\.\\d{0,4}0*$)"}],"title":"Discount Percentage","description":"Percentage discount applied to all discountable products of the service","default":"0.0000","examples":["1.05"]},"terms_id":{"type":"string","format":"uuid4","title":"Terms Id","description":"Duration term ID of the service","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date active of the service","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date deactive of the service","examples":["2022-01-01"]},"date_signed":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Signed","description":"Date signed of the service","examples":["2021-01-10"]},"date_created":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Created","description":"Date created of the service","examples":["2021-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Duration start date of the service","examples":["2021-01-01"]}},"additionalProperties":false,"type":"object","required":["terms_id"],"title":"ServiceCreate"},"ServiceListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of services in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Items","description":"List of services"}},"type":"object","required":["total_count","items"],"title":"ServiceListResponse"},"ServicePriceSummary":{"properties":{"currency":{"type":"string","const":"EUR","title":"Currency","default":"EUR"},"complete":{"type":"boolean","title":"Complete"},"one_time":{"anyOf":[{"$ref":"#/components/schemas/ServicePriceTotals"},{"type":"null"}]},"recurring":{"items":{"$ref":"#/components/schemas/RecurringServicePriceTotals"},"type":"array","title":"Recurring"}},"type":"object","required":["complete"],"title":"ServicePriceSummary","description":"Authoritative contractual prices for the current service products."},"ServicePriceTotals":{"properties":{"net_before_discount":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Net Before Discount"},"discount_net":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Discount Net"},"net":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Net"},"tax":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Tax"},"gross":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Gross"}},"type":"object","required":["net_before_discount","discount_net","net","tax","gross"],"title":"ServicePriceTotals","description":"Aggregated full-cycle prices after the service discount."},"ServiceProduct":{"properties":{"product_count":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Product Count","description":"Quantity of the product on the service (supports fractional quantities).","default":"1","examples":["1","0.5"]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date when this product becomes active on the service.","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date when this product is deactivated on the service.","examples":["2022-01-01"]},"different_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Different Price","description":"Overrides the product net price for this service. If set, intro price and intro duration of the product are ignored. Tax calculation still uses the product's tax type (no tax override).","examples":["1.00"]},"different_product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Different Product Text","description":"Custom display text for the product when linked to the service.","examples":["Different product text"]},"bill_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Bill Until","description":"Date until which the product is billed for this service.","examples":["2022-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Start date for the duration calculation of this service product.","examples":["2021-01-01"]},"service_product_id":{"type":"string","format":"uuid4","title":"Service Product Id","description":"Service-product link ID.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"service_id":{"type":"string","format":"uuid4","title":"Service Id","description":"Service ID.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"product_id":{"type":"string","format":"uuid4","title":"Product Id","description":"Product ID.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["service_product_id","service_id","product_id","last_change"],"title":"ServiceProduct"},"ServiceProductAttribute":{"properties":{"service_product_attribute_key_id":{"type":"string","format":"uuid4","title":"Service Product Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"},"service_product_attribute_id":{"type":"string","format":"uuid4","title":"Service Product Attribute Id"},"service_product_id":{"type":"string","format":"uuid4","title":"Service Product Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["service_product_attribute_key_id","service_product_attribute_id","service_product_id","last_change"],"title":"ServiceProductAttribute"},"ServiceProductAttributeCreate":{"properties":{"service_product_attribute_key_id":{"type":"string","format":"uuid4","title":"Service Product Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"}},"additionalProperties":false,"type":"object","required":["service_product_attribute_key_id"],"title":"ServiceProductAttributeCreate"},"ServiceProductAttributeKey":{"properties":{"key":{"type":"string","title":"Key"},"value_type":{"type":"string","enum":["string","int","decimal","bool","date","datetime"],"title":"Value Type"},"is_required":{"type":"boolean","title":"Is Required"},"is_sensitive":{"type":"boolean","title":"Is Sensitive"},"is_unique_per_entity":{"type":"boolean","title":"Is Unique Per Entity"},"service_product_attribute_key_id":{"type":"string","format":"uuid4","title":"Service Product Attribute Key Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["key","value_type","is_required","is_sensitive","is_unique_per_entity","service_product_attribute_key_id","last_change"],"title":"ServiceProductAttributeKey"},"ServiceProductAttributeKeyCreate":{"properties":{"key":{"type":"string","maxLength":100,"minLength":1,"title":"Key"},"value_type":{"type":"string","enum":["string","int","decimal","bool","date","datetime"],"title":"Value Type"},"is_required":{"type":"boolean","title":"Is Required","default":false},"is_sensitive":{"type":"boolean","title":"Is Sensitive","default":false},"is_unique_per_entity":{"type":"boolean","title":"Is Unique Per Entity","default":true}},"additionalProperties":false,"type":"object","required":["key","value_type"],"title":"ServiceProductAttributeKeyCreate"},"ServiceProductAttributeKeyListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/ServiceProductAttributeKey"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"ServiceProductAttributeKeyListResponse"},"ServiceProductAttributeKeyUpdate":{"properties":{"key":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Key"},"value_type":{"anyOf":[{"type":"string","enum":["string","int","decimal","bool","date","datetime"]},{"type":"null"}],"title":"Value Type"},"is_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Required"},"is_sensitive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Sensitive"},"is_unique_per_entity":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Unique Per Entity"}},"additionalProperties":false,"type":"object","title":"ServiceProductAttributeKeyUpdate"},"ServiceProductAttributeListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"},"items":{"items":{"$ref":"#/components/schemas/ServiceProductAttributeResponse"},"type":"array","title":"Items"}},"type":"object","required":["total_count","items"],"title":"ServiceProductAttributeListResponse"},"ServiceProductAttributeResponse":{"properties":{"service_product_attribute_key_id":{"type":"string","format":"uuid4","title":"Service Product Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"},"service_product_attribute_id":{"type":"string","format":"uuid4","title":"Service Product Attribute Id"},"service_product_id":{"type":"string","format":"uuid4","title":"Service Product Id"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"attribute_key":{"$ref":"#/components/schemas/ServiceProductAttributeKey"}},"type":"object","required":["service_product_attribute_key_id","service_product_attribute_id","service_product_id","last_change","attribute_key"],"title":"ServiceProductAttributeResponse"},"ServiceProductAttributeUpdate":{"properties":{"service_product_attribute_key_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Service Product Attribute Key Id"},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value String"},"value_int":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value Int"},"value_decimal":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value Decimal"},"value_bool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Bool"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"value_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Value Datetime"}},"additionalProperties":false,"type":"object","title":"ServiceProductAttributeUpdate"},"ServiceProductCreate":{"properties":{"product_count":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Product Count","description":"Quantity of the product on the service (supports fractional quantities).","default":"1","examples":["1","0.5"]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date when this product becomes active on the service.","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date when this product is deactivated on the service.","examples":["2022-01-01"]},"different_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Different Price","description":"Overrides the product net price for this service. If set, intro price and intro duration of the product are ignored. Tax calculation still uses the product's tax type (no tax override).","examples":["1.00"]},"different_product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Different Product Text","description":"Custom display text for the product when linked to the service.","examples":["Different product text"]},"bill_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Bill Until","description":"Date until which the product is billed for this service.","examples":["2022-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Start date for the duration calculation of this service product.","examples":["2021-01-01"]},"product_id":{"type":"string","format":"uuid4","title":"Product Id","description":"Product ID linked to the service.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]}},"additionalProperties":false,"type":"object","required":["product_id"],"title":"ServiceProductCreate"},"ServiceProductResponse":{"properties":{"product_count":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Product Count","description":"Quantity of the product on the service (supports fractional quantities).","default":"1","examples":["1","0.5"]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date when this product becomes active on the service.","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date when this product is deactivated on the service.","examples":["2022-01-01"]},"different_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Different Price","description":"Overrides the product net price for this service. If set, intro price and intro duration of the product are ignored. Tax calculation still uses the product's tax type (no tax override).","examples":["1.00"]},"different_product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Different Product Text","description":"Custom display text for the product when linked to the service.","examples":["Different product text"]},"bill_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Bill Until","description":"Date until which the product is billed for this service.","examples":["2022-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Start date for the duration calculation of this service product.","examples":["2021-01-01"]},"service_product_id":{"type":"string","format":"uuid4","title":"Service Product Id","description":"Service-product link ID.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"service_id":{"type":"string","format":"uuid4","title":"Service Id","description":"Service ID.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"product_id":{"type":"string","format":"uuid4","title":"Product Id","description":"Product ID.","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"product":{"$ref":"#/components/schemas/ProductCompactResponse"},"total_net_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Net Price","description":"Total net price (net unit price × quantity). Calculated in the service layer. If different_price is set, it is used as net unit price. Intro price is ignored when different_price is set.","examples":["100.00"]},"total_gross_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Gross Price","description":"Total gross price (total net × (1 + tax rate)). Calculated in the service layer. Tax rate is taken from the product's tax type, even when different_price is used.","examples":["119.00"]},"earliest_possible_termination_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Earliest Possible Termination Date","description":"Earliest possible termination date of the service product","readOnly":true,"examples":["2021-01-01"]}},"type":"object","required":["service_product_id","service_id","product_id","last_change","product","earliest_possible_termination_date"],"title":"ServiceProductResponse"},"ServiceProductUpdate":{"properties":{"product_count":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Product Count","description":"Quantity of the product on the service (supports fractional quantities).","default":"1","examples":["1","0.5"]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date when this product becomes active on the service.","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date when this product is deactivated on the service.","examples":["2022-01-01"]},"different_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Different Price","description":"Overrides the product net price for this service. If set, intro price and intro duration of the product are ignored. Tax calculation still uses the product's tax type (no tax override).","examples":["1.00"]},"different_product_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Different Product Text","description":"Custom display text for the product when linked to the service.","examples":["Different product text"]},"bill_until":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Bill Until","description":"Date until which the product is billed for this service.","examples":["2022-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Start date for the duration calculation of this service product.","examples":["2021-01-01"]}},"additionalProperties":false,"type":"object","title":"ServiceProductUpdate"},"ServiceResponse":{"properties":{"service_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Number","description":"Service number of the service","examples":[1]},"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the duration terms","examples":["Default"]},"discount_percentage":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,3}|(?=[\\d.]{1,8}0*$)\\d{0,3}\\.\\d{0,4}0*$)","title":"Discount Percentage","description":"Percentage discount applied to all discountable products of the service","default":"0.0000","examples":["1.05"]},"terms_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Terms Id","description":"Duration term ID of the service","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date active of the service","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date deactive of the service","examples":["2022-01-01"]},"date_signed":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Signed","description":"Date signed of the service","examples":["2021-01-10"]},"date_created":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Created","description":"Date created of the service","examples":["2021-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Duration start date of the service","examples":["2021-01-01"]},"service_id":{"type":"string","format":"uuid4","title":"Service Id","description":"Contract ID of the service","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"customer_id":{"type":"string","format":"uuid4","title":"Customer Id","description":"Customer ID of the customer","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"terms":{"$ref":"#/components/schemas/Terms"},"products":{"anyOf":[{"items":{"$ref":"#/components/schemas/ServiceProductResponse"},"type":"array"},{"type":"null"}],"title":"Products","description":"List of products of the service"},"addresses":{"anyOf":[{"items":{"$ref":"#/components/schemas/AddressResponse"},"type":"array"},{"type":"null"}],"title":"Addresses","description":"Addresses of this Service"},"price_summary":{"$ref":"#/components/schemas/ServicePriceSummary","description":"Full-cycle service prices grouped by billing interval"},"earliest_possible_termination_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Earliest Possible Termination Date","description":"Earliest possible termination date of the service","readOnly":true,"examples":["2021-01-01"]},"effective_earliest_termination_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Effective Earliest Termination Date","description":"Latest termination date imposed by service or product terms","readOnly":true,"examples":["2021-01-01"]}},"type":"object","required":["service_id","customer_id","last_change","terms","earliest_possible_termination_date","effective_earliest_termination_date"],"title":"ServiceResponse"},"ServiceUpdate":{"properties":{"service_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Number","description":"Service number of the service","examples":[1]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the service","examples":["Service 1"]},"discount_percentage":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,3}|(?=[\\d.]{1,8}0*$)\\d{0,3}\\.\\d{0,4}0*$)"}],"title":"Discount Percentage","description":"Percentage discount applied to all discountable products of the service","default":"0.0000","examples":["1.05"]},"terms_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Terms Id","description":"Duration term ID of the service","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"date_active":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Active","description":"Date active of the service","examples":["2021-02-01"]},"date_deactivate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Deactivate","description":"Date deactive of the service","examples":["2022-01-01"]},"date_signed":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Signed","description":"Date signed of the service","examples":["2021-01-10"]},"date_created":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date Created","description":"Date created of the service","examples":["2021-01-01"]},"duration_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Duration Start Date","description":"Duration start date of the service","examples":["2021-01-01"]}},"additionalProperties":false,"type":"object","title":"ServiceUpdate"},"SettingsPatchRequest":{"properties":{"user_settings":{"$ref":"#/components/schemas/UserSettingsPatch","description":"User-configurable settings patch"},"version":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Version","description":"Optional expected settings version for optimistic locking","examples":[3]}},"additionalProperties":false,"type":"object","required":["user_settings"],"title":"SettingsPatchRequest","examples":[{"user_settings":{"billing":{"discount_position_label":"Discount","invoice_grouping":"by_customer","recurring_billing_timing":"period_start"},"datev":{"beraternummer":"","mandantennummer":""},"display":{"date_format":"DD.MM.YYYY"},"document_numbering":{"corrective_invoice":{"initial_number":10000,"prefix":"2023","separator":"-"},"invoice":{"initial_number":10000,"prefix":"2023","separator":"-"},"order_confirmation":{"initial_number":10000,"prefix":"2023","separator":"-"},"payment_reminder":{"initial_number":10000,"prefix":"2023","separator":"-"},"quotation":{"initial_number":10000,"prefix":"2023","separator":"-"},"self_billing_invoice":{"initial_number":10000,"prefix":"2023","separator":"-"}},"organization_data":{"additional_legal_information":"Managing director: Max Example","address":{"city":"Kassel","country_code":"DE","country_subdivision":"Hessen","line_1":"Example Street 1","line_2":"Building A","line_3":"3rd floor","post_code":"34117"},"business_identification_number":"DE123456789-00001","contact":{"department_name":"Accounting","email_address":"billing@example.com","person_name":"Pat Example","telephone_number":"+49 561 1234567"},"electronic_address":"billing@example.com","legal_registration":"HRB 12345","name":"Example GmbH","seller_identifier":"991-12345-67890","tax_registration_identifier":"26/123/45678","tax_representative":{"name":"Tax Representative GmbH","vat_identifier":"DE987654321"},"trading_name":"Example Billing","vat_identifier":"DE123456789"}},"version":3}],"example":{"user_settings":{"billing":{"discount_position_label":"Discount","invoice_grouping":"by_customer","recurring_billing_timing":"period_start"},"datev":{"beraternummer":"","mandantennummer":""},"display":{"date_format":"DD.MM.YYYY"},"document_numbering":{"corrective_invoice":{"initial_number":10000,"prefix":"2023","separator":"-"},"invoice":{"initial_number":10000,"prefix":"2023","separator":"-"},"order_confirmation":{"initial_number":10000,"prefix":"2023","separator":"-"},"payment_reminder":{"initial_number":10000,"prefix":"2023","separator":"-"},"quotation":{"initial_number":10000,"prefix":"2023","separator":"-"},"self_billing_invoice":{"initial_number":10000,"prefix":"2023","separator":"-"}},"organization_data":{"additional_legal_information":"Managing director: Max Example","address":{"city":"Kassel","country_code":"DE","country_subdivision":"Hessen","line_1":"Example Street 1","line_2":"Building A","line_3":"3rd floor","post_code":"34117"},"business_identification_number":"DE123456789-00001","contact":{"department_name":"Accounting","email_address":"billing@example.com","person_name":"Pat Example","telephone_number":"+49 561 1234567"},"electronic_address":"billing@example.com","legal_registration":"HRB 12345","name":"Example GmbH","seller_identifier":"991-12345-67890","tax_registration_identifier":"26/123/45678","tax_representative":{"name":"Tax Representative GmbH","vat_identifier":"DE987654321"},"trading_name":"Example Billing","vat_identifier":"DE123456789"}},"version":3}},"SettingsResponse":{"properties":{"user_settings":{"$ref":"#/components/schemas/UserSettings","description":"User-configurable application settings"},"system_settings":{"$ref":"#/components/schemas/SystemSettings","description":"Fixed application settings"},"version":{"type":"integer","minimum":0.0,"title":"Version","description":"Current settings version"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"Timestamp of the last successful update"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By","description":"User or client that last updated the settings"}},"additionalProperties":false,"type":"object","required":["user_settings","system_settings","version"],"title":"SettingsResponse","examples":[{"system_settings":{"einvoice":{"business_process_id":"urn:fdc:peppol.eu:2017:poacc:billing:01:1.0","specification_identifier":"urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0"},"identifier_schemes":{"electronic_address":"EM","legal_registration":"0002","seller_identifier":"0088"},"import_limits":{"max_customer_import_file_size_mb":5,"max_customer_import_rows":10000,"max_extra_invoice_position_import_file_size_mb":10,"max_extra_invoice_position_import_rows":100000,"max_product_import_file_size_mb":5,"max_product_import_rows":10000,"max_returned_import_errors":1000},"workers":{"datev_export_worker":{"job_size_documents":500,"poll_seconds":5,"processing_batch_size_documents":100,"stale_after_minutes":30},"invoice_document_worker":{"job_size_invoices":500,"poll_seconds":5,"processing_batch_size_invoices":50,"stale_after_minutes":30},"invoice_run_worker":{"job_size_customers":1000,"poll_seconds":5,"processing_batch_size_customers":100,"stale_after_minutes":30}}},"updated_at":"2026-06-04T12:00:00Z","updated_by":"settings-admin","user_settings":{"billing":{"discount_position_label":"Discount","invoice_grouping":"by_customer","recurring_billing_timing":"period_start"},"datev":{"beraternummer":"","mandantennummer":""},"display":{"date_format":"DD.MM.YYYY"},"document_numbering":{"corrective_invoice":{"initial_number":10000,"prefix":"2023","separator":"-"},"invoice":{"initial_number":10000,"prefix":"2023","separator":"-"},"order_confirmation":{"initial_number":10000,"prefix":"2023","separator":"-"},"payment_reminder":{"initial_number":10000,"prefix":"2023","separator":"-"},"quotation":{"initial_number":10000,"prefix":"2023","separator":"-"},"self_billing_invoice":{"initial_number":10000,"prefix":"2023","separator":"-"}},"organization_data":{"additional_legal_information":"Managing director: Max Example","address":{"city":"Kassel","country_code":"DE","country_subdivision":"Hessen","line_1":"Example Street 1","line_2":"Building A","line_3":"3rd floor","post_code":"34117"},"business_identification_number":"DE123456789-00001","contact":{"department_name":"Accounting","email_address":"billing@example.com","person_name":"Pat Example","telephone_number":"+49 561 1234567"},"electronic_address":"billing@example.com","legal_registration":"HRB 12345","name":"Example GmbH","seller_identifier":"991-12345-67890","tax_registration_identifier":"26/123/45678","tax_representative":{"name":"Tax Representative GmbH","vat_identifier":"DE987654321"},"trading_name":"Example Billing","vat_identifier":"DE123456789"}},"version":1}],"example":{"system_settings":{"einvoice":{"business_process_id":"urn:fdc:peppol.eu:2017:poacc:billing:01:1.0","specification_identifier":"urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0"},"identifier_schemes":{"electronic_address":"EM","legal_registration":"0002","seller_identifier":"0088"},"import_limits":{"max_customer_import_file_size_mb":5,"max_customer_import_rows":10000,"max_extra_invoice_position_import_file_size_mb":10,"max_extra_invoice_position_import_rows":100000,"max_product_import_file_size_mb":5,"max_product_import_rows":10000,"max_returned_import_errors":1000},"workers":{"datev_export_worker":{"job_size_documents":500,"poll_seconds":5,"processing_batch_size_documents":100,"stale_after_minutes":30},"invoice_document_worker":{"job_size_invoices":500,"poll_seconds":5,"processing_batch_size_invoices":50,"stale_after_minutes":30},"invoice_run_worker":{"job_size_customers":1000,"poll_seconds":5,"processing_batch_size_customers":100,"stale_after_minutes":30}}},"updated_at":"2026-06-04T12:00:00Z","updated_by":"settings-admin","user_settings":{"billing":{"discount_position_label":"Discount","invoice_grouping":"by_customer","recurring_billing_timing":"period_start"},"datev":{"beraternummer":"","mandantennummer":""},"display":{"date_format":"DD.MM.YYYY"},"document_numbering":{"corrective_invoice":{"initial_number":10000,"prefix":"2023","separator":"-"},"invoice":{"initial_number":10000,"prefix":"2023","separator":"-"},"order_confirmation":{"initial_number":10000,"prefix":"2023","separator":"-"},"payment_reminder":{"initial_number":10000,"prefix":"2023","separator":"-"},"quotation":{"initial_number":10000,"prefix":"2023","separator":"-"},"self_billing_invoice":{"initial_number":10000,"prefix":"2023","separator":"-"}},"organization_data":{"additional_legal_information":"Managing director: Max Example","address":{"city":"Kassel","country_code":"DE","country_subdivision":"Hessen","line_1":"Example Street 1","line_2":"Building A","line_3":"3rd floor","post_code":"34117"},"business_identification_number":"DE123456789-00001","contact":{"department_name":"Accounting","email_address":"billing@example.com","person_name":"Pat Example","telephone_number":"+49 561 1234567"},"electronic_address":"billing@example.com","legal_registration":"HRB 12345","name":"Example GmbH","seller_identifier":"991-12345-67890","tax_registration_identifier":"26/123/45678","tax_representative":{"name":"Tax Representative GmbH","vat_identifier":"DE987654321"},"trading_name":"Example Billing","vat_identifier":"DE123456789"}},"version":1}},"StorageObject":{"properties":{"storage_object_id":{"type":"string","format":"uuid4","title":"Storage Object Id","description":"Storage object ID"},"storage_profile":{"type":"string","title":"Storage Profile","description":"Configured storage profile name"},"bucket_name":{"type":"string","title":"Bucket Name","description":"Bucket name where the object is stored"},"object_key":{"type":"string","title":"Object Key","description":"Technical object key inside the bucket"},"original_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Filename","description":"Original file name before upload or generation"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type","description":"Stored MIME type of the object"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size","description":"File size in bytes"},"etag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Etag","description":"ETag returned by the storage provider"},"version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Id","description":"Optional object version ID returned by the storage provider"},"sha256_checksum":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sha256 Checksum","description":"SHA-256 checksum of the stored object"},"is_active":{"type":"boolean","title":"Is Active","description":"If true, this is the active storage object"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["storage_object_id","storage_profile","bucket_name","object_key","is_active","created_at","last_change"],"title":"StorageObject"},"StyleListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of styles"},"items":{"items":{"$ref":"#/components/schemas/StyleResponse"},"type":"array","title":"Items","description":"List of styles"}},"type":"object","required":["total_count","items"],"title":"StyleListResponse"},"StyleResponse":{"properties":{"style_id":{"type":"string","format":"uuid4","title":"Style Id"},"style_key":{"type":"string","title":"Style Key"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"active_storage_object":{"anyOf":[{"$ref":"#/components/schemas/StorageObject"},{"type":"null"}],"description":"Currently active storage object of the style"}},"type":"object","required":["style_id","style_key","is_active","last_change"],"title":"StyleResponse"},"StyleSummary":{"properties":{"style_id":{"type":"string","format":"uuid4","title":"Style Id"},"style_key":{"type":"string","title":"Style Key"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["style_id","style_key","is_active","last_change"],"title":"StyleSummary"},"SupportTicketRequest":{"properties":{"subject":{"type":"string","title":"Subject"},"description":{"type":"string","title":"Description","description":"User-authored HTML fragment. WAS sanitizes it before sending it to Zammad. Supported formatting includes paragraphs, line breaks, headings, emphasis, lists, quotes, code and HTTP(S), mailto or tel links. Plain text is valid HTML text content.","examples":["<p>The application shows an <strong>error</strong>.</p>"]},"type":{"anyOf":[{"$ref":"#/components/schemas/SupportTicketType"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"mobile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile"}},"additionalProperties":false,"type":"object","required":["subject","description"],"title":"SupportTicketRequest","description":"Public ticket request without caller-controlled identity fields."},"SupportTicketResponse":{"properties":{"ticket_id":{"type":"integer","title":"Ticket Id"},"ticket_number":{"type":"string","title":"Ticket Number"},"organization_found":{"type":"boolean","title":"Organization Found"},"internal_note_created":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Internal Note Created"},"warning":{"anyOf":[{"$ref":"#/components/schemas/SupportTicketWarning"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["ticket_id","ticket_number","organization_found","internal_note_created"],"title":"SupportTicketResponse","description":"Validated public result returned by WAS after ticket creation."},"SupportTicketType":{"type":"string","enum":["Change Request","Problem","Service Request","Incident"],"title":"SupportTicketType","description":"Allowed values of the active Zammad ticket custom field ``type``."},"SupportTicketWarning":{"type":"string","enum":["organization_missing_note_failed"],"title":"SupportTicketWarning","description":"Non-fatal warnings returned after a ticket was created."},"SystemSettings":{"properties":{"einvoice":{"anyOf":[{"$ref":"#/components/schemas/EinvoiceSettings"},{"type":"null"}],"description":"Fixed e-invoice conformance settings"},"identifier_schemes":{"$ref":"#/components/schemas/IdentifierSchemeSettings","description":"Fixed identifier scheme IDs"},"import_limits":{"anyOf":[{"$ref":"#/components/schemas/ImportLimitSettings"},{"type":"null"}],"description":"Fixed import limits"},"workers":{"$ref":"#/components/schemas/WorkerSettings","description":"Fixed technical worker defaults"}},"additionalProperties":false,"type":"object","title":"SystemSettings"},"TaxSummary":{"properties":{"tax_rate":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Tax Rate","description":"Tax rate for this summary group","examples":["100.00"]},"net_sum":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Net Sum","description":"Grouped net total for this tax rate","examples":["100.00"]},"tax_sum":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Tax Sum","description":"Grouped tax total for this tax rate","examples":["100.00"]},"gross_sum":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,8}|(?=[\\d.]{1,11}0*$)\\d{0,8}\\.\\d{0,2}0*$)","title":"Gross Sum","description":"Grouped gross total for this tax rate","examples":["100.00"]}},"type":"object","required":["tax_rate","net_sum","tax_sum","gross_sum"],"title":"TaxSummary","description":"Grouped commercial document totals for one tax rate."},"TaxType":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the tax type","examples":["Taxes Type 1"]},"taxrate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Taxrate","description":"Tax percentage of the tax type","examples":["19.00"]},"account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Account Id","description":"Optional account assigned to the tax type","examples":["0b803418-3181-4e81-9916-f73d57f46dbf"]},"tax_type_id":{"type":"string","format":"uuid4","title":"Tax Type Id","description":"Tax type ID of the tax type","examples":["60c5aab4-d4ba-471c-ade0-a1e85045501c"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["tax_type_id","last_change"],"title":"TaxType"},"TaxTypeCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the tax type","examples":["Taxes Type 1"]},"taxrate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Taxrate","description":"Tax percentage of the tax type","examples":["19.00"]},"account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Account Id","description":"Optional account assigned to the tax type","examples":["0b803418-3181-4e81-9916-f73d57f46dbf"]}},"additionalProperties":false,"type":"object","required":["description","taxrate"],"title":"TaxTypeCreate"},"TaxTypeListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of tax types in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/TaxType"},"type":"array","title":"Items","description":"List of tax types"}},"type":"object","required":["total_count","items"],"title":"TaxTypeListResponse"},"TaxTypeUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the tax type","examples":["Taxes Type 1"]},"taxrate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Taxrate","description":"Tax percentage of the tax type","examples":["19.00"]},"account_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Account Id","description":"Optional account assigned to the tax type","examples":["0b803418-3181-4e81-9916-f73d57f46dbf"]}},"additionalProperties":false,"type":"object","title":"TaxTypeUpdate"},"TemplateComplianceRequirementResponse":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"required_paths":{"items":{"type":"string"},"type":"array","title":"Required Paths"},"alternative_path_groups":{"items":{"items":{"type":"string"},"type":"array"},"type":"array","title":"Alternative Path Groups"},"severity":{"$ref":"#/components/schemas/TemplateComplianceSeverity","default":"error"}},"type":"object","required":["key","label","description"],"title":"TemplateComplianceRequirementResponse"},"TemplateComplianceRequirementsResponse":{"properties":{"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum"},"requirements":{"items":{"$ref":"#/components/schemas/TemplateComplianceRequirementResponse"},"type":"array","title":"Requirements"}},"type":"object","required":["document_type_key"],"title":"TemplateComplianceRequirementsResponse"},"TemplateComplianceResultResponse":{"properties":{"template_id":{"type":"string","format":"uuid4","title":"Template Id"},"template_key":{"type":"string","title":"Template Key"},"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum"},"is_compliant":{"type":"boolean","title":"Is Compliant"},"required_paths":{"items":{"type":"string"},"type":"array","title":"Required Paths"},"alternative_path_groups":{"items":{"items":{"type":"string"},"type":"array"},"type":"array","title":"Alternative Path Groups"},"used_paths":{"items":{"type":"string"},"type":"array","title":"Used Paths"},"missing_paths":{"items":{"type":"string"},"type":"array","title":"Missing Paths"},"missing_alternative_path_groups":{"items":{"items":{"type":"string"},"type":"array"},"type":"array","title":"Missing Alternative Path Groups"},"missing_requirements":{"items":{"$ref":"#/components/schemas/MissingTemplateComplianceRequirementResponse"},"type":"array","title":"Missing Requirements"}},"type":"object","required":["template_id","template_key","document_type_key","is_compliant"],"title":"TemplateComplianceResultResponse"},"TemplateComplianceSeverity":{"type":"string","enum":["error","warning"],"title":"TemplateComplianceSeverity"},"TemplateHelperDescriptor":{"properties":{"name":{"type":"string","title":"Name","description":"Helper function name exposed to the Jinja environment."},"signature":{"type":"string","title":"Signature","description":"Example helper signature for template authors."},"description":{"type":"string","title":"Description","description":"Human-readable description of what the helper does."}},"type":"object","required":["name","signature","description"],"title":"TemplateHelperDescriptor"},"TemplateHtmlResponse":{"properties":{"template_id":{"type":"string","format":"uuid4","title":"Template Id","description":"Unique identifier of the template"},"html":{"type":"string","title":"Html","description":"Raw HTML source code of the template"},"mime_type":{"type":"string","title":"Mime Type","description":"MIME type of the stored template source"},"original_filename":{"type":"string","title":"Original Filename","description":"Original filename of the active template source"}},"type":"object","required":["template_id","html","mime_type","original_filename"],"title":"TemplateHtmlResponse"},"TemplateListItem":{"properties":{"template_family_id":{"type":"string","format":"uuid4","title":"Template Family Id"},"version_no":{"type":"integer","minimum":1.0,"title":"Version No"},"previous_template_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Previous Template Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"template_id":{"type":"string","format":"uuid4","title":"Template Id"},"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum"},"style_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Style Id"},"background_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Background Id"},"background":{"anyOf":[{"$ref":"#/components/schemas/DocumentBackgroundSummary"},{"type":"null"}]},"template_key":{"type":"string","title":"Template Key"},"is_default":{"type":"boolean","title":"Is Default"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"style":{"anyOf":[{"$ref":"#/components/schemas/StyleSummary"},{"type":"null"}],"description":"Default style assigned to the template"},"has_editor_definition":{"type":"boolean","title":"Has Editor Definition","description":"True if an editor_definition is present for this template"}},"type":"object","required":["template_family_id","version_no","created_at","template_id","document_type_key","template_key","is_default","is_active","last_change","has_editor_definition"],"title":"TemplateListItem"},"TemplateListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of templates"},"items":{"items":{"$ref":"#/components/schemas/TemplateListItem"},"type":"array","title":"Items","description":"List of templates"}},"type":"object","required":["total_count","items"],"title":"TemplateListResponse"},"TemplatePlaceholder":{"properties":{"path":{"type":"string","title":"Path","description":"Dot-separated placeholder path available to templates."},"type":{"type":"string","title":"Type","description":"Resolved placeholder value type."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Field description derived from the render schema."},"label_key":{"type":"string","title":"Label Key","description":"Stable i18n key derived deterministically from the placeholder path."},"group_key":{"type":"string","title":"Group Key","description":"Stable i18n key derived from the placeholder's functional group."},"requires_loop":{"type":"boolean","title":"Requires Loop","description":"True when the placeholder is inside a list-like structure and usually requires a Jinja loop variable.","default":false},"is_collection":{"type":"boolean","title":"Is Collection","description":"True when this placeholder itself is a list-like collection.","default":false},"is_computed":{"type":"boolean","title":"Is Computed","description":"True when the placeholder originates from a computed Pydantic field.","default":false},"examples":{"items":{"type":"string"},"type":"array","title":"Examples","description":"UI-ready example values for the placeholder."}},"type":"object","required":["path","type","label_key","group_key"],"title":"TemplatePlaceholder"},"TemplatePlaceholderCatalogResponse":{"properties":{"document_type_key":{"anyOf":[{"$ref":"#/components/schemas/DocumentTypeEnum"},{"type":"null"}],"description":"Requested document type. Null means the common placeholder catalog was requested without narrowing to one type."},"available_document_types":{"items":{"$ref":"#/components/schemas/DocumentTypeEnum"},"type":"array","title":"Available Document Types","description":"Document types currently supported by the placeholder catalog endpoint."},"schema":{"type":"string","title":"Schema","description":"Schema class name used as the source of truth for the catalog."},"placeholders":{"items":{"$ref":"#/components/schemas/TemplatePlaceholder"},"type":"array","title":"Placeholders","description":"Resolved placeholder definitions derived from the render schema."},"helpers":{"items":{"$ref":"#/components/schemas/TemplateHelperDescriptor"},"type":"array","title":"Helpers","description":"Helper functions available in the Jinja rendering environment."}},"type":"object","required":["schema"],"title":"TemplatePlaceholderCatalogResponse","description":"Response model for the public template placeholder catalog."},"TemplateResponse":{"properties":{"template_family_id":{"type":"string","format":"uuid4","title":"Template Family Id"},"version_no":{"type":"integer","minimum":1.0,"title":"Version No"},"previous_template_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Previous Template Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"template_id":{"type":"string","format":"uuid4","title":"Template Id"},"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum"},"style_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Style Id"},"background_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Background Id"},"background":{"anyOf":[{"$ref":"#/components/schemas/DocumentBackgroundSummary"},{"type":"null"}]},"template_key":{"type":"string","title":"Template Key"},"is_default":{"type":"boolean","title":"Is Default"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"},"style":{"anyOf":[{"$ref":"#/components/schemas/StyleSummary"},{"type":"null"}],"description":"Default style assigned to the template"},"has_editor_definition":{"type":"boolean","title":"Has Editor Definition","description":"True if an editor_definition is present for this template"},"editor_definition":{"anyOf":[{"$ref":"#/components/schemas/EditorDefinition"},{"type":"null"}]},"active_storage_object":{"anyOf":[{"$ref":"#/components/schemas/StorageObject"},{"type":"null"}],"description":"Currently active storage object of the template"}},"type":"object","required":["template_family_id","version_no","created_at","template_id","document_type_key","template_key","is_default","is_active","last_change","has_editor_definition"],"title":"TemplateResponse"},"TemplateSummary":{"properties":{"template_family_id":{"type":"string","format":"uuid4","title":"Template Family Id"},"version_no":{"type":"integer","minimum":1.0,"title":"Version No"},"previous_template_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Previous Template Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"template_id":{"type":"string","format":"uuid4","title":"Template Id"},"document_type_key":{"$ref":"#/components/schemas/DocumentTypeEnum"},"style_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Style Id"},"background_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Background Id"},"background":{"anyOf":[{"$ref":"#/components/schemas/DocumentBackgroundSummary"},{"type":"null"}]},"template_key":{"type":"string","title":"Template Key"},"is_default":{"type":"boolean","title":"Is Default"},"is_active":{"type":"boolean","title":"Is Active"},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["template_family_id","version_no","created_at","template_id","document_type_key","template_key","is_default","is_active","last_change"],"title":"TemplateSummary"},"TenantRoleResponse":{"properties":{"role_id":{"type":"string","title":"Role Id"},"role_key":{"type":"string","title":"Role Key"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_standard":{"type":"boolean","title":"Is Standard"},"is_custom":{"type":"boolean","title":"Is Custom"}},"type":"object","required":["role_id","role_key","is_standard","is_custom"],"title":"TenantRoleResponse","description":"Public tenant role catalog entry."},"TenantUserInvitationRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"Email address of the user to invite","examples":["max.mustermann@example.com"]},"role_keys":{"items":{"type":"string"},"type":"array","maxItems":50,"minItems":1,"title":"Role Keys","description":"Tenant role keys to assign after invitation","examples":[["wse_admin"]]},"inviter_name":{"anyOf":[{"type":"string","maxLength":300,"minLength":1},{"type":"null"}],"title":"Inviter Name","description":"Display name of the person sending the invitation","examples":["Max Mustermann"]},"ttl_sec":{"anyOf":[{"type":"integer","maximum":2592000.0,"minimum":0.0},{"type":"null"}],"title":"Ttl Sec","description":"Invitation lifetime in seconds","examples":[604800]},"send_invitation_email":{"type":"boolean","title":"Send Invitation Email","description":"Whether WAS should send the invitation email","default":true}},"additionalProperties":false,"type":"object","required":["email","role_keys"],"title":"TenantUserInvitationRequest","description":"Request payload for inviting one tenant user."},"TenantUserInvitationResponse":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"Email address of the invited user"},"role_keys":{"items":{"type":"string"},"type":"array","title":"Role Keys","description":"Roles assigned to the invited user"},"invitation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invitation Id","description":"External invitation identifier"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Invitation expiration timestamp"}},"type":"object","required":["email"],"title":"TenantUserInvitationResponse","description":"Response payload for one tenant user invitation."},"TenantUserPageResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TenantUserResponse"},"type":"array","title":"Items"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"},"limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit"},"next_offset":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Next Offset"}},"type":"object","required":["offset","limit"],"title":"TenantUserPageResponse","description":"Offset-based page of tenant user summaries."},"TenantUserResponse":{"properties":{"user_id":{"type":"string","title":"User Id","description":"External user identifier"},"invitation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invitation Id","description":"External invitation identifier for pending users"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email","description":"User email address"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"User display name"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username","description":"User login name"},"picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Picture","description":"User profile picture reference"},"status":{"$ref":"#/components/schemas/UserStatus","description":"Current user lifecycle status"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"Creation timestamp of the user account"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Invitation expiration timestamp for pending users"}},"type":"object","required":["user_id","status"],"title":"TenantUserResponse","description":"Public tenant user summary without technical Keycloak metadata."},"TenantUserRoleKeysResponse":{"properties":{"user_id":{"type":"string","title":"User Id"},"role_keys":{"items":{"type":"string"},"type":"array","title":"Role Keys"}},"type":"object","required":["user_id"],"title":"TenantUserRoleKeysResponse","description":"Role keys assigned to one tenant user after an update."},"TenantUserRoleResponse":{"properties":{"role_id":{"type":"string","title":"Role Id"},"role_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Key"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["role_id"],"title":"TenantUserRoleResponse","description":"Role assigned to one tenant user."},"TenantUserRolesResponse":{"properties":{"user_id":{"type":"string","title":"User Id"},"roles":{"items":{"$ref":"#/components/schemas/TenantUserRoleResponse"},"type":"array","title":"Roles"}},"type":"object","required":["user_id"],"title":"TenantUserRolesResponse","description":"Rich role assignments for one tenant user."},"TerminationAcceptedResponse":{"properties":{"request_id":{"type":"string","format":"uuid","title":"Request Id"},"process_instance_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Process Instance Id"},"status":{"$ref":"#/components/schemas/TerminationStatus"},"submitted_at":{"type":"string","format":"date-time","title":"Submitted At"}},"additionalProperties":false,"type":"object","required":["request_id","status","submitted_at"],"title":"TerminationAcceptedResponse","description":"Durable WAS acceptance of a termination request."},"TerminationRequest":{"properties":{"date_deactivate":{"type":"string","format":"date","title":"Date Deactivate"},"reason":{"type":"string","maxLength":500,"minLength":1,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["date_deactivate","reason"],"title":"TerminationRequest","description":"Request termination of the current WSE instance."},"TerminationStatus":{"type":"string","enum":["pending","running","succeeded","failed","cancelled"],"title":"TerminationStatus"},"Terms":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the duration terms","examples":["Default"]},"first_min_term_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"First Min Term Value","description":"First minimum duration term value in months","examples":[12]},"first_cancellation_period_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"First Cancellation Period Value","description":"First cancellation period value in months","examples":[3]},"min_term_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Term Value","description":"Minimum duration term value in months","examples":[12]},"cancellation_period_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cancellation Period Value","description":"Cancellation period value in months","examples":[3]},"terms_id":{"type":"string","format":"uuid4","title":"Terms Id","description":"Terms ID of the duration terms","examples":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["terms_id","last_change"],"title":"Terms"},"TermsCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the duration terms","examples":["Default"]},"first_min_term_value":{"type":"integer","title":"First Min Term Value","description":"First minimum duration term value in months","examples":[12]},"first_cancellation_period_value":{"type":"integer","title":"First Cancellation Period Value","description":"First cancellation period value in months","examples":[3]},"min_term_value":{"type":"integer","title":"Min Term Value","description":"Minimum duration term value in months","examples":[12]},"cancellation_period_value":{"type":"integer","title":"Cancellation Period Value","description":"Cancellation period value in months","examples":[3]}},"additionalProperties":false,"type":"object","required":["description","first_min_term_value","first_cancellation_period_value","min_term_value","cancellation_period_value"],"title":"TermsCreate"},"TermsListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of records in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/Terms"},"type":"array","title":"Items","description":"List of records"}},"type":"object","required":["total_count","items"],"title":"TermsListResponse"},"TermsUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the duration terms","examples":["Default"]},"first_min_term_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"First Min Term Value","description":"First minimum duration term value in months","examples":[12]},"first_cancellation_period_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"First Cancellation Period Value","description":"First cancellation period value in months","examples":[3]},"min_term_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Term Value","description":"Minimum duration term value in months","examples":[12]},"cancellation_period_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cancellation Period Value","description":"Cancellation period value in months","examples":[3]}},"additionalProperties":false,"type":"object","title":"TermsUpdate"},"Title":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the title","examples":["Herr","Frau","Dr."]},"title_id":{"type":"string","format":"uuid4","title":"Title Id","description":"Title ID of the title","examples":["07aaacf5-41e3-4fb5-b6a7-cb2c2316ac66"]},"last_change":{"type":"string","format":"date-time","title":"Last Change"}},"type":"object","required":["title_id","last_change"],"title":"Title"},"TitleCreate":{"properties":{"description":{"type":"string","maxLength":200,"title":"Description","description":"Description of the title","examples":["Herr","Frau","Dr."]}},"additionalProperties":false,"type":"object","required":["description"],"title":"TitleCreate"},"TitleListResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","description":"Total number of records in the database","examples":[100]},"items":{"items":{"$ref":"#/components/schemas/Title"},"type":"array","title":"Items","description":"List of records"}},"type":"object","required":["total_count","items"],"title":"TitleListResponse"},"TitleUpdate":{"properties":{"description":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Description","description":"Description of the title","examples":["Herr","Frau","Dr."]}},"additionalProperties":false,"type":"object","title":"TitleUpdate"},"TruthFilter-Input":{"properties":{"kind":{"type":"string","const":"truth","title":"Kind","default":"truth"},"condition":{"oneOf":[{"$ref":"#/components/schemas/ComparisonFilter-Input"},{"$ref":"#/components/schemas/LogicalFilter-Input"},{"$ref":"#/components/schemas/TruthFilter-Input"}],"title":"Condition","discriminator":{"propertyName":"kind","mapping":{"comparison":"#/components/schemas/ComparisonFilter-Input","logical":"#/components/schemas/LogicalFilter-Input","truth":"#/components/schemas/TruthFilter-Input"}}},"expected":{"type":"boolean","title":"Expected"}},"additionalProperties":false,"type":"object","required":["condition","expected"],"title":"TruthFilter"},"TruthFilter-Output":{"properties":{"kind":{"type":"string","const":"truth","title":"Kind","default":"truth"},"condition":{"oneOf":[{"$ref":"#/components/schemas/ComparisonFilter-Output"},{"$ref":"#/components/schemas/LogicalFilter-Output"},{"$ref":"#/components/schemas/TruthFilter-Output"}],"title":"Condition","discriminator":{"propertyName":"kind","mapping":{"comparison":"#/components/schemas/ComparisonFilter-Output","logical":"#/components/schemas/LogicalFilter-Output","truth":"#/components/schemas/TruthFilter-Output"}}},"expected":{"type":"boolean","title":"Expected"}},"additionalProperties":false,"type":"object","required":["condition","expected"],"title":"TruthFilter"},"UiLanguage":{"type":"string","enum":["de","en"],"title":"UiLanguage"},"UpdateDocumentAssetForm":{"properties":{"asset_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Key"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"}},"additionalProperties":false,"type":"object","title":"UpdateDocumentAssetForm","description":"Fields accepted by the update_document_asset endpoint."},"UpdateDocumentBackgroundForm":{"properties":{"background_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Background Key"},"style_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style Id"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"}},"additionalProperties":false,"type":"object","title":"UpdateDocumentBackgroundForm","description":"Fields accepted by the update_document_background endpoint."},"UpdateDocumentStyleForm":{"properties":{"style_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style Key"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"}},"additionalProperties":false,"type":"object","title":"UpdateDocumentStyleForm","description":"Fields accepted by the update_document_style endpoint."},"UpdateDocumentTemplateForm":{"properties":{"style_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style Id"},"background_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Background Id"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"document_type_key":{"anyOf":[{"$ref":"#/components/schemas/DocumentTypeEnum"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"UpdateDocumentTemplateForm","description":"Fields accepted by the update_document_template endpoint."},"UserSettings":{"properties":{"display":{"$ref":"#/components/schemas/DisplaySettings","description":"User-facing display settings"},"document_numbering":{"anyOf":[{"$ref":"#/components/schemas/DocumentNumberingSettings"},{"type":"null"}],"description":"User-configurable document numbering"},"billing":{"anyOf":[{"$ref":"#/components/schemas/BillingUserSettings"},{"type":"null"}],"description":"User-configurable billing settings"},"organization_data":{"anyOf":[{"$ref":"#/components/schemas/OrganizationDataSettings"},{"type":"null"}],"description":"User-configurable organization master data"},"datev":{"anyOf":[{"$ref":"#/components/schemas/DatevUserSettings"},{"type":"null"}],"description":"User-configurable DATEV settings"}},"additionalProperties":false,"type":"object","title":"UserSettings"},"UserSettingsPatch":{"properties":{"display":{"$ref":"#/components/schemas/DisplaySettings","description":"User-facing display settings"},"document_numbering":{"anyOf":[{"$ref":"#/components/schemas/DocumentNumberingSettings"},{"type":"null"}],"description":"User-configurable document numbering"},"billing":{"anyOf":[{"$ref":"#/components/schemas/BillingUserSettings"},{"type":"null"}],"description":"User-configurable billing settings"},"organization_data":{"anyOf":[{"$ref":"#/components/schemas/OrganizationDataSettings"},{"type":"null"}],"description":"User-configurable organization master data"},"datev":{"anyOf":[{"$ref":"#/components/schemas/DatevUserSettings"},{"type":"null"}],"description":"User-configurable DATEV settings"}},"additionalProperties":false,"type":"object","title":"UserSettingsPatch"},"UserStatus":{"type":"string","enum":["active","pending"],"title":"UserStatus","description":"Supported lifecycle states returned by WAS."},"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"},"ValueOperand-Input":{"properties":{"kind":{"type":"string","const":"value","title":"Kind","default":"value"},"value":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value"}},"additionalProperties":false,"type":"object","required":["value"],"title":"ValueOperand"},"ValueOperand-Output":{"properties":{"kind":{"type":"string","const":"value","title":"Kind","default":"value"},"value":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Value"}},"additionalProperties":false,"type":"object","required":["value"],"title":"ValueOperand"},"Visualization":{"properties":{"type":{"type":"string","enum":["table","bar","line","pie"],"title":"Type","default":"table"},"category":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},{"type":"null"}],"title":"Category"},"measures":{"items":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},"type":"array","maxItems":20,"title":"Measures"},"series":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},{"type":"null"}],"title":"Series"},"title":{"type":"string","maxLength":200,"title":"Title","default":""},"category_label":{"type":"string","maxLength":200,"title":"Category Label","default":""},"value_label":{"type":"string","maxLength":200,"title":"Value Label","default":""},"orientation":{"type":"string","enum":["vertical","horizontal"],"title":"Orientation","default":"vertical"},"fill_missing":{"type":"boolean","title":"Fill Missing","default":false},"period_field":{"anyOf":[{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,99}$"},{"type":"null"}],"title":"Period Field"},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period End"},"relative_months":{"anyOf":[{"type":"integer","maximum":1200.0,"minimum":1.0},{"type":"null"}],"title":"Relative Months"}},"additionalProperties":false,"type":"object","title":"Visualization"},"WorkerSettings":{"properties":{"invoice_run_worker":{"additionalProperties":{"type":"integer"},"type":"object","title":"Invoice Run Worker","description":"Fixed invoice-run worker defaults"},"invoice_document_worker":{"additionalProperties":{"type":"integer"},"type":"object","title":"Invoice Document Worker","description":"Fixed invoice-document worker defaults"},"datev_export_worker":{"additionalProperties":{"type":"integer"},"type":"object","title":"Datev Export Worker","description":"Fixed DATEV export worker defaults"}},"additionalProperties":false,"type":"object","title":"WorkerSettings"},"ProblemIssue":{"additionalProperties":false,"description":"Represent one safe validation or import issue.","properties":{"path":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Path","type":"array"},"code":{"title":"Code","type":"string"},"message":{"title":"Message","type":"string"},"row_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Row Number"},"field":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Field"},"value":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"default":null,"title":"Value"},"row":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object"},{"type":"null"}],"default":null,"title":"Row"}},"required":["code","message"],"title":"ProblemIssue","type":"object"},"ProblemType":{"description":"Stable machine-readable problem identifiers published through OpenAPI.","enum":["urn:wse:problem:bad-request","urn:wse:problem:authentication-required","urn:wse:problem:access-denied","urn:wse:problem:resource-not-found","urn:wse:problem:method-not-allowed","urn:wse:problem:not-acceptable","urn:wse:problem:not-implemented","urn:wse:problem:conflict","urn:wse:problem:datev-run-blocked","urn:wse:problem:datev-preview-stale","urn:wse:problem:datev-remote-conflict","urn:wse:problem:resource-in-use","urn:wse:problem:service-number-conflict","urn:wse:problem:customer-anonymization-blocked","urn:wse:problem:customer-anonymization-confirmation-mismatch","urn:wse:problem:customer-anonymized","urn:wse:problem:request-validation-error","urn:wse:problem:validation-error","urn:wse:problem:payload-too-large","urn:wse:problem:unsupported-media-type","urn:wse:problem:license-locked","urn:wse:problem:bootstrap-instance-unsupported","urn:wse:problem:upstream-service-error","urn:wse:problem:service-unavailable","urn:wse:problem:banking-integration-not-configured","urn:wse:problem:banking-service-unavailable","urn:wse:problem:banking-client-ip-unavailable","urn:wse:problem:banking-authorization-required","urn:wse:problem:banking-capability-unavailable","urn:wse:problem:banking-provider-operation-unknown","urn:wse:problem:import-rejected","urn:wse:problem:document-generation-error","urn:wse:problem:template-variables-missing","urn:wse:problem:template-syntax-error","urn:wse:problem:template-not-found","urn:wse:problem:template-inactive","urn:wse:problem:service-not-found","urn:wse:problem:source-document-not-found","urn:wse:problem:source-document-customer-missing","urn:wse:problem:source-document-customer-not-found","urn:wse:problem:source-document-invalid","urn:wse:problem:zugferd-generation-error","urn:wse:problem:zugferd-data-missing","urn:wse:problem:zugferd-schema-artifact-error","urn:wse:problem:zugferd-validation-error","urn:wse:problem:storage-error","urn:wse:problem:storage-configuration-error","urn:wse:problem:storage-unavailable","urn:wse:problem:storage-object-missing","urn:wse:problem:render-dependency-missing","urn:wse:problem:document-file-not-found","urn:wse:problem:document-xml-not-found","urn:wse:problem:template-compliance-unsupported-template","urn:wse:problem:template-compliance-requirements-not-defined","urn:wse:problem:default-template-not-found","urn:wse:problem:template-document-type-mismatch","urn:wse:problem:template-validation-error","urn:wse:problem:preview-error","urn:wse:problem:preview-unsupported-media-type","urn:wse:problem:preview-render-failed","urn:wse:problem:internal-server-error"],"title":"ProblemType","type":"string"},"ApiProblem":{"additionalProperties":true,"description":"RFC 9457 problem details response used by every API error.","properties":{"type":{"$ref":"#/components/schemas/ProblemType"},"title":{"title":"Title","type":"string"},"status":{"title":"Status","type":"integer"},"detail":{"title":"Detail","type":"string"},"instance":{"title":"Instance","type":"string"},"parameters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Parameters"},"errors":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProblemIssue"},"type":"array"},{"type":"null"}],"default":null,"title":"Errors"}},"required":["type","title","status","detail","instance"],"title":"ApiProblem","type":"object"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Provide the access token as: Authorization: Bearer <token>"}}},"x-wse-problem-types":[{"type":"urn:wse:problem:datev-run-blocked","status":409,"title":"DATEV run blocked","parameters":["blocking_run_id"]},{"type":"urn:wse:problem:datev-preview-stale","status":409,"title":"DATEV preview outdated","parameters":[]},{"type":"urn:wse:problem:datev-remote-conflict","status":409,"title":"DATEV connection conflict","parameters":["reason"]},{"type":"urn:wse:problem:bad-request","status":400,"title":"Bad request","parameters":[]},{"type":"urn:wse:problem:authentication-required","status":401,"title":"Authentication required","parameters":[]},{"type":"urn:wse:problem:access-denied","status":403,"title":"Access denied","parameters":[]},{"type":"urn:wse:problem:resource-not-found","status":404,"title":"Resource not found","parameters":[]},{"type":"urn:wse:problem:method-not-allowed","status":405,"title":"Method not allowed","parameters":[]},{"type":"urn:wse:problem:not-acceptable","status":406,"title":"Not acceptable","parameters":[]},{"type":"urn:wse:problem:not-implemented","status":501,"title":"Not implemented","parameters":[]},{"type":"urn:wse:problem:conflict","status":409,"title":"Conflict","parameters":[]},{"type":"urn:wse:problem:resource-in-use","status":409,"title":"Resource in use","parameters":["blocking_resources"]},{"type":"urn:wse:problem:service-number-conflict","status":409,"title":"Service number conflict","parameters":["service_number"]},{"type":"urn:wse:problem:customer-anonymization-blocked","status":409,"title":"Customer anonymization blocked","parameters":[]},{"type":"urn:wse:problem:customer-anonymization-confirmation-mismatch","status":422,"title":"Customer anonymization confirmation mismatch","parameters":[]},{"type":"urn:wse:problem:customer-anonymized","status":409,"title":"Customer anonymized","parameters":[]},{"type":"urn:wse:problem:request-validation-error","status":422,"title":"Request validation failed","parameters":[]},{"type":"urn:wse:problem:validation-error","status":422,"title":"Validation failed","parameters":[]},{"type":"urn:wse:problem:payload-too-large","status":413,"title":"Payload too large","parameters":[]},{"type":"urn:wse:problem:unsupported-media-type","status":415,"title":"Unsupported media type","parameters":[]},{"type":"urn:wse:problem:license-locked","status":423,"title":"Application locked","parameters":[]},{"type":"urn:wse:problem:bootstrap-instance-unsupported","status":409,"title":"Bootstrap instance unsupported","parameters":[]},{"type":"urn:wse:problem:upstream-service-error","status":502,"title":"Upstream service error","parameters":[]},{"type":"urn:wse:problem:service-unavailable","status":503,"title":"Service unavailable","parameters":[]},{"type":"urn:wse:problem:banking-integration-not-configured","status":503,"title":"Banking integration not configured","parameters":[]},{"type":"urn:wse:problem:banking-service-unavailable","status":503,"title":"Banking service unavailable","parameters":[]},{"type":"urn:wse:problem:banking-client-ip-unavailable","status":422,"title":"Public client IP unavailable","parameters":[]},{"type":"urn:wse:problem:banking-authorization-required","status":409,"title":"Bank authorization required","parameters":[]},{"type":"urn:wse:problem:banking-capability-unavailable","status":409,"title":"Banking capability unavailable","parameters":[]},{"type":"urn:wse:problem:banking-provider-operation-unknown","status":409,"title":"Banking operation state unknown","parameters":[]},{"type":"urn:wse:problem:import-rejected","status":422,"title":"Import rejected","parameters":[]},{"type":"urn:wse:problem:document-generation-error","status":500,"title":"Document generation failed","parameters":[]},{"type":"urn:wse:problem:template-variables-missing","status":422,"title":"Template variables missing","parameters":["variables"]},{"type":"urn:wse:problem:template-syntax-error","status":422,"title":"Template syntax error","parameters":[]},{"type":"urn:wse:problem:template-not-found","status":404,"title":"Template not found","parameters":["template_id"]},{"type":"urn:wse:problem:template-inactive","status":400,"title":"Template inactive","parameters":["template_id"]},{"type":"urn:wse:problem:service-not-found","status":404,"title":"Service not found","parameters":["service_id"]},{"type":"urn:wse:problem:source-document-not-found","status":404,"title":"Source document not found","parameters":["source_document_id"]},{"type":"urn:wse:problem:source-document-customer-missing","status":422,"title":"Source document customer missing","parameters":["source_document_id"]},{"type":"urn:wse:problem:source-document-customer-not-found","status":409,"title":"Source document customer not found","parameters":["customer_id","source_document_id"]},{"type":"urn:wse:problem:source-document-invalid","status":422,"title":"Source document invalid","parameters":["source_document_id"]},{"type":"urn:wse:problem:zugferd-generation-error","status":422,"title":"Electronic invoice generation failed","parameters":[]},{"type":"urn:wse:problem:zugferd-data-missing","status":422,"title":"Electronic invoice data missing","parameters":[]},{"type":"urn:wse:problem:zugferd-schema-artifact-error","status":500,"title":"Electronic invoice validation unavailable","parameters":[]},{"type":"urn:wse:problem:zugferd-validation-error","status":422,"title":"Electronic invoice validation failed","parameters":[]},{"type":"urn:wse:problem:storage-error","status":503,"title":"Storage unavailable","parameters":[]},{"type":"urn:wse:problem:storage-configuration-error","status":503,"title":"Storage configuration unavailable","parameters":["bucket"]},{"type":"urn:wse:problem:storage-unavailable","status":503,"title":"Storage unavailable","parameters":[]},{"type":"urn:wse:problem:storage-object-missing","status":409,"title":"Storage object missing","parameters":["bucket"]},{"type":"urn:wse:problem:render-dependency-missing","status":409,"title":"Render dependency missing","parameters":["dependency_reference","dependency_type"]},{"type":"urn:wse:problem:document-file-not-found","status":404,"title":"Document file not found","parameters":[]},{"type":"urn:wse:problem:document-xml-not-found","status":404,"title":"Document XML not found","parameters":[]},{"type":"urn:wse:problem:template-compliance-unsupported-template","status":422,"title":"Template compliance unsupported","parameters":[]},{"type":"urn:wse:problem:template-compliance-requirements-not-defined","status":422,"title":"Template compliance requirements missing","parameters":[]},{"type":"urn:wse:problem:default-template-not-found","status":404,"title":"Default template not found","parameters":["document_type_key"]},{"type":"urn:wse:problem:template-document-type-mismatch","status":400,"title":"Template document type mismatch","parameters":["document_type_key","template_id"]},{"type":"urn:wse:problem:template-validation-error","status":422,"title":"Template validation failed","parameters":["dependency_reference","dependency_type"]},{"type":"urn:wse:problem:preview-error","status":422,"title":"Preview failed","parameters":[]},{"type":"urn:wse:problem:preview-unsupported-media-type","status":415,"title":"Preview media type unsupported","parameters":[]},{"type":"urn:wse:problem:preview-render-failed","status":422,"title":"Preview rendering failed","parameters":[]},{"type":"urn:wse:problem:internal-server-error","status":500,"title":"Internal server error","parameters":[]}],"security":[{"BearerAuth":[]}]}