> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paywise.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Create order

> The collection orders of your company.

Create a draft with a referenced debtor and embedded claims,
edit it while it is a draft, finalize it for review, and follow it to
acceptance. Tenant-scoped by the authenticated company.



## OpenAPI

````yaml /api-docs/case-management-api/openapi.json post /v2/orders/
openapi: 3.0.3
info:
  description: >-
    Submit orders and manage their complete lifecycle through the current API at
    the `/v2/` HTTP path.
  title: paywise Case Management API
  version: current
servers:
  - description: Production environment
    url: https://api.paywise.de
  - description: Sandbox environment
    url: https://api-sandbox.paywise.de
security: []
tags:
  - description: Submit orders and manage them until acceptance.
    name: Orders
  - description: Stable claim resources and their current relationships.
    name: Claims
  - description: 'Accepted cases: state, published history and documents.'
    name: Mandates
  - description: Debtor master data reused across orders.
    name: Debtors
  - description: Payments reported by you and booked by paywise.
    name: Payments
  - description: Files attached to claims and other resources.
    name: Documents
  - description: Collective statements (Sammelabrechnungen).
    name: Statements
  - description: Per-case statements (Aktenabrechnungen).
    name: Single mandate statements
  - description: Webhook endpoints and their signing secrets.
    name: Webhooks
  - description: Delivery log and redelivery of webhook events.
    name: Webhook deliveries
  - description: Ordered feed of the events webhooks deliver.
    name: Events
  - description: Reference catalog of legal forms.
    name: Legal forms
  - description: The authenticated credential and its context.
    name: Info
  - description: Rate-limit headroom of the credential.
    name: Usage
  - description: Availability of the API.
    name: Health
externalDocs:
  url: https://docs.paywise.de/api-docs/case-management-api/introduction
paths:
  /v2/orders/:
    post:
      tags:
        - Orders
      summary: Create order
      description: |-
        The collection orders of your company.

        Create a draft with a referenced debtor and embedded claims,
        edit it while it is a draft, finalize it for review, and follow it to
        acceptance. Tenant-scoped by the authenticated company.
      operationId: create-order
      parameters:
        - description: >-
            Required when a Partner key calls the Case Management API; rejected
            for direct Case keys. Contains the entitled paywise company UUID.
          in: header
          name: X-On-Behalf-Of-Company
          schema:
            format: uuid
            type: string
        - description: >-
            Required client-supplied command key scoped to the selected Case
            company or Partner owner, method, operation and path. An exact retry
            replays the original response while it is retained, including after
            credential rotation or replacement. Current permissions are
            required.
          in: header
          name: Idempotency-Key
          required: true
          schema:
            maxLength: 255
            type: string
      requestBody:
        content:
          application/json:
            examples:
              order-create-debtor-reference:
                value:
                  additional_debtor_ids: []
                  claims:
                    - additional_charges: []
                      document_date: '2026-06-05'
                      document_reference: 2026-0042
                      documents: []
                      due_date: '2026-06-19'
                      events:
                        - description: null
                          location: null
                          occurence: '2026-06-05T09:00:00Z'
                          title: Invoice issued
                          type: claim
                          your_reference: 2026-0042
                      is_disputed: false
                      items:
                        - description: Accessibility review
                          quantity: '2.5'
                          unit: hours
                          unit_price:
                            currency: EUR
                            value: '40.00'
                      legal_basis:
                        claim_type_code: H11
                        description: Consulting agreement of 2026-05-01
                      metadata:
                        - type: comment
                          value: Consulting invoice from the customer portal
                      principal_amount:
                        currency: EUR
                        value: '100.00'
                      reminders:
                        - date: '2026-07-01'
                          due_date: '2026-07-08'
                      subject_matter: Website accessibility consulting in June 2026
                      type: receivable
                      your_reference: INV-2026-0042
                  creditor_obligation_fulfilled: true
                  debtor_id: 40000000-0000-4000-8000-000000000001
                  starting_approach: extrajudicial
              rental-order-inline:
                value:
                  additional_debtor_ids: []
                  claims:
                    - document_date: '2026-02-01'
                      documents:
                        - base64: >-
                            JVBERi0xLjQKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCAyMDAgMTAwXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE4NgolJUVPRgo=
                          filename: rent-February-2026.pdf
                          type: claim_statement
                      is_disputed: false
                      legal_basis:
                        claim_type_code: H19
                      principal_amount:
                        currency: EUR
                        value: '1200.00'
                      subject_matter: Residential rent for February 2026
                      type: receivable
                      your_reference: RENT-2026-02
                  creditor_obligation_fulfilled: true
                  debtor_id: 40000000-0000-4000-8000-000000000001
                  rental_agreement:
                    contract_date: '2026-01-10'
                    documents:
                      - base64: >-
                          JVBERi0xLjQKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCAyMDAgMTAwXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE4NgolJUVPRgo=
                        filename: rental-agreement.pdf
                        type: rental_agreement
                    monthly_rent:
                      currency: EUR
                      value: '1200.00'
                    property_address:
                      city: Berlin
                      country: DE
                      postal_code: '10115'
                      street: Rental Example Street 8
                  starting_approach: extrajudicial
                  type: rental
              rental-order-staged:
                value:
                  additional_debtor_ids: []
                  claims: []
                  creditor_obligation_fulfilled: true
                  debtor_id: 40000000-0000-4000-8000-000000000001
                  rental_agreement:
                    contract_date: '2026-01-10'
                    monthly_rent:
                      currency: EUR
                      value: '2400.00'
                    property_address:
                      city: Hamburg
                      country: DE
                      postal_code: '20095'
                      street: Commercial Example Avenue 3
                  starting_approach: extrajudicial
                  type: rental
              titled-order-inline:
                value:
                  additional_debtor_ids: []
                  claims:
                    - enforceable_title:
                        amount:
                          currency: EUR
                          value: '2500.00'
                        documents:
                          - base64: >-
                              JVBERi0xLjQKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCAyMDAgMTAwXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE4NgolJUVPRgo=
                            filename: enforcement-order.pdf
                            type: enforceable_title
                        file_number: 12-3456789-0-1
                        issued_on: '2026-01-15'
                        issuing_authority: Amtsgericht Berlin
                        legally_binding_since: '2026-02-01'
                        served_on: '2026-01-20'
                        title_type: enforcement_order
                      is_disputed: false
                      subject_matter: Enforcement title
                      type: titled
                      your_reference: TITLE-2026-0042
                  debtor_id: 40000000-0000-4000-8000-000000000001
                  success_fee_confirmed: true
                  type: titled
              titled-order-staged:
                value:
                  additional_debtor_ids: []
                  claims: []
                  debtor_id: 40000000-0000-4000-8000-000000000001
                  success_fee_confirmed: false
                  type: titled
            schema:
              $ref: '#/components/schemas/OrderCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              examples:
                invoice:
                  summary: Invoice order
                  value:
                    additional_debtors: []
                    claims:
                      - additional_charges: []
                        additional_charges_amount:
                          currency: EUR
                          value: '0.00'
                        additional_debtor_ids: []
                        created_at: '2026-07-18T10:00:00Z'
                        debtor_id: 40000000-0000-4000-8000-000000000001
                        delay_date: '2026-07-09'
                        dispute_reason: null
                        document_date: '2026-06-05'
                        document_reference: 2026-0042
                        documents: []
                        due_date: '2026-06-19'
                        events:
                          - description: null
                            location: null
                            occurence: '2026-06-05T09:00:00Z'
                            title: Invoice issued
                            type: claim
                            your_reference: 2026-0042
                        id: 30000000-0000-4000-8000-000000000001
                        is_disputed: false
                        items: []
                        legal_basis:
                          claim_type_code: null
                          contract_date: null
                          description: null
                        mandate_id: null
                        metadata:
                          - type: comment
                            value: Consulting invoice from the customer portal
                        order_id: 20000000-0000-4000-8000-000000000001
                        payments: []
                        principal_amount:
                          currency: EUR
                          value: '100.00'
                        reminders: []
                        status: draft
                        subject_matter: Website accessibility consulting in June 2026
                        total_amount:
                          currency: EUR
                          value: '100.00'
                        type: receivable
                        updated_at: '2026-07-18T10:00:00Z'
                        your_reference: INV-2026-0042
                    confirmation_email: null
                    created_at: '2026-07-18T10:00:00Z'
                    creditor_obligation_fulfilled: true
                    debtor:
                      acting_as: consumer
                      events:
                        - description: null
                          location: null
                          occurence: '2026-05-01T09:00:00Z'
                          title: Customer registered
                          type: registration
                          your_reference: null
                      id: 40000000-0000-4000-8000-000000000001
                      legal_form: null
                      metadata:
                        - type: user:reference
                          value: CUSTOMER-1001
                      organization: null
                      person:
                        birth_date: null
                        first_name: Alex
                        last_name: Example
                        salutation: mx
                      your_reference: CUSTOMER-1001
                    expires_at: '2026-10-16T10:00:00Z'
                    id: 20000000-0000-4000-8000-000000000001
                    mandate: null
                    merged_into: null
                    rejection: null
                    starting_approach: extrajudicial
                    status: draft
                    totals:
                      charges:
                        currency: EUR
                        value: '0.00'
                      main_claims:
                        currency: EUR
                        value: '100.00'
                      order_value:
                        currency: EUR
                        value: '100.00'
                      payments:
                        currency: EUR
                        value: '0.00'
                    type: invoice
                    updated_at: '2026-07-18T10:00:00Z'
                rental:
                  summary: Rental order
                  value:
                    additional_debtors: []
                    claims:
                      - additional_charges: []
                        additional_charges_amount:
                          currency: EUR
                          value: '0.00'
                        additional_debtor_ids: []
                        created_at: '2026-07-18T10:00:00Z'
                        debtor_id: 40000000-0000-4000-8000-000000000001
                        delay_date: '2026-02-05'
                        dispute_reason: null
                        document_date: '2026-02-01'
                        document_reference: null
                        documents: []
                        due_date: '2026-02-04'
                        events:
                          - description: null
                            location: null
                            occurence: '2026-06-05T09:00:00Z'
                            title: Invoice issued
                            type: claim
                            your_reference: 2026-0042
                        id: 30000000-0000-4000-8000-000000000001
                        is_disputed: false
                        items: []
                        legal_basis:
                          claim_type_code: H19
                          contract_date: '2026-01-10'
                          description: null
                        mandate_id: null
                        metadata:
                          - type: comment
                            value: Consulting invoice from the customer portal
                        order_id: 20000000-0000-4000-8000-000000000001
                        payments: []
                        principal_amount:
                          currency: EUR
                          value: '1200.00'
                        reminders: []
                        status: draft
                        subject_matter: Residential rent for February 2026
                        total_amount:
                          currency: EUR
                          value: '1200.00'
                        type: receivable
                        updated_at: '2026-07-18T10:00:00Z'
                        your_reference: RENT-2026-02
                    confirmation_email: null
                    created_at: '2026-07-18T10:00:00Z'
                    creditor_obligation_fulfilled: true
                    debtor:
                      acting_as: consumer
                      events:
                        - description: null
                          location: null
                          occurence: '2026-05-01T09:00:00Z'
                          title: Customer registered
                          type: registration
                          your_reference: null
                      id: 40000000-0000-4000-8000-000000000001
                      legal_form: null
                      metadata:
                        - type: user:reference
                          value: CUSTOMER-1001
                      organization: null
                      person:
                        birth_date: null
                        first_name: Alex
                        last_name: Example
                        salutation: mx
                      your_reference: CUSTOMER-1001
                    expires_at: '2026-10-16T10:00:00Z'
                    id: 20000000-0000-4000-8000-000000000001
                    mandate: null
                    merged_into: null
                    rejection: null
                    rental_agreement:
                      contract_date: '2026-01-10'
                      created_at: '2026-07-18T10:00:00Z'
                      documents: []
                      due_rule: null
                      id: 21000000-0000-4000-8000-000000000001
                      monthly_rent:
                        currency: EUR
                        value: '1200.00'
                      property_address:
                        city: Berlin
                        country: DE
                        postal_code: '10115'
                        street: Rental Example Street 8
                      updated_at: '2026-07-18T10:00:00Z'
                    starting_approach: extrajudicial
                    status: draft
                    totals:
                      charges:
                        currency: EUR
                        value: '0.00'
                      main_claims:
                        currency: EUR
                        value: '1200.00'
                      order_value:
                        currency: EUR
                        value: '1200.00'
                      payments:
                        currency: EUR
                        value: '0.00'
                    type: rental
                    updated_at: '2026-07-18T10:00:00Z'
                titled:
                  summary: Titled order
                  value:
                    additional_debtors: []
                    claims:
                      - additional_debtor_ids: []
                        created_at: '2026-07-18T10:00:00Z'
                        debtor_id: 40000000-0000-4000-8000-000000000001
                        dispute_reason: null
                        document_reference: null
                        enforceable_title:
                          amount:
                            currency: EUR
                            value: '2500.00'
                          created_at: '2026-07-18T10:00:00Z'
                          documents: []
                          file_number: 12-3456789-0-1
                          id: 31000000-0000-4000-8000-000000000001
                          issued_on: '2026-01-15'
                          issuing_authority: Amtsgericht Berlin
                          legally_binding_since: '2026-02-01'
                          served_on: '2026-01-20'
                          title_type: enforcement_order
                          updated_at: '2026-07-18T10:00:00Z'
                        events: []
                        id: 30000000-0000-4000-8000-000000000001
                        is_disputed: false
                        mandate_id: null
                        metadata: []
                        order_id: 20000000-0000-4000-8000-000000000001
                        payments: []
                        principal_amount: null
                        status: draft
                        subject_matter: Enforcement title
                        total_amount:
                          currency: EUR
                          value: '2500.00'
                        type: titled
                        updated_at: '2026-07-18T10:00:00Z'
                        your_reference: TITLE-2026-0042
                    confirmation_email: null
                    created_at: '2026-07-18T10:00:00Z'
                    debtor:
                      acting_as: consumer
                      events:
                        - description: null
                          location: null
                          occurence: '2026-05-01T09:00:00Z'
                          title: Customer registered
                          type: registration
                          your_reference: null
                      id: 40000000-0000-4000-8000-000000000001
                      legal_form: null
                      metadata:
                        - type: user:reference
                          value: CUSTOMER-1001
                      organization: null
                      person:
                        birth_date: null
                        first_name: Alex
                        last_name: Example
                        salutation: mx
                      your_reference: CUSTOMER-1001
                    expires_at: '2026-10-16T10:00:00Z'
                    id: 20000000-0000-4000-8000-000000000001
                    mandate: null
                    merged_into: null
                    rejection: null
                    status: draft
                    success_fee_confirmed: true
                    totals:
                      charges:
                        currency: EUR
                        value: '0.00'
                      main_claims:
                        currency: EUR
                        value: '2500.00'
                      order_value:
                        currency: EUR
                        value: '2500.00'
                      payments:
                        currency: EUR
                        value: '0.00'
                    type: titled
                    updated_at: '2026-07-18T10:00:00Z'
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '400':
          content:
            application/json:
              examples:
                validation-error:
                  value:
                    code: validation_error
                    detail: The request contains invalid data.
                    errors:
                      - code: invalid
                        field: claims[0].due_date
                        message: Due date must not precede the document date.
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '401':
          content:
            application/json:
              examples:
                authentication-error:
                  value:
                    code: not_authenticated
                    detail: Authentication credentials were not provided.
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '409':
          content:
            application/json:
              examples:
                conflict-error:
                  value:
                    code: conflict
                    detail: The resource changed state and cannot accept this command.
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            Retry-After:
              description: Integer seconds to wait before retrying a throttled request.
              schema:
                minimum: 1
                type: integer
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
      security:
        - caseBearerAuth: []
        - partnerBearerAuth: []
components:
  schemas:
    OrderCreateRequest:
      description: |-
        Create an order with a referenced debtor and embedded
        claims in one API call. Returns the created order in its read
        representation.
      properties:
        additional_debtor_ids:
          description: >-
            Other debtors, each supplied by an existing UUID from the active
            company. The primary debtor cannot also appear here, and each
            referenced additional debtor may appear only once. Maximum 10
            entries.
          items:
            format: uuid
            type: string
          maxItems: 10
          type: array
        claims:
          description: >-
            Claims to create in this draft; each must specify type. Invoice and
            rental orders accept receivable claims. Titled orders accept titled
            claims and receivable enforcement costs (K014); at least one
            complete claim, including one titled claim for titled orders, is
            required before finalization. Maximum 50 entries. The 50-claim limit
            applies to the complete order, including claims added later through
            the claim endpoint; exceeding it returns 400 validation_error.
          items:
            $ref: '#/components/schemas/ClaimCreateRequest'
          maxItems: 50
          type: array
        confirmation_email:
          description: >-
            Address that receives the order entry confirmation
            (Eingangsbestätigung) when the order is finalized. Omit or set null
            for no confirmation email.
          format: email
          maxLength: 255
          minLength: 1
          nullable: true
          type: string
        creditor_obligation_fulfilled:
          description: >-
            Whether you have fully performed your obligation to the debtor. For
            invoice and rental orders, supply true or false before finalization;
            null leaves the decision unset. Omit for titled orders.
          nullable: true
          type: boolean
        debtor_id:
          description: Existing primary debtor in the selected company.
          format: uuid
          type: string
        rental_agreement:
          $ref: '#/components/schemas/RentalAgreementInlineRequest'
          description: Rental-agreement singleton supplied only for a rental order.
        starting_approach:
          allOf:
            - $ref: '#/components/schemas/StartingApproachEnum'
          description: >-
            Initial route for invoice and rental orders: extrajudicial starts
            with out-of-court collection; judicial starts by applying for a
            payment order (Mahnbescheid). Required before finalization; omit for
            titled orders, where enforcement is implicit.
          nullable: true
        success_fee_confirmed:
          description: >-
            Only valid for titled orders. Confirmation of the titled-order
            success-fee arrangement; it must be true before finalization. See
            the [paywise General Terms and Conditions
            (AGB)](https://paywise.de/agb/) for the exact conditions for titled
            orders.
          type: boolean
        type:
          allOf:
            - $ref: '#/components/schemas/OrderTypeEnum'
          default: invoice
          description: >-
            Order type discriminator: invoice, rental, or titled. Defaults to
            invoice when omitted.
      required:
        - debtor_id
      type: object
    Order:
      discriminator:
        mapping:
          invoice: '#/components/schemas/InvoiceOrder'
          rental: '#/components/schemas/RentalOrder'
          titled: '#/components/schemas/TitledOrder'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/InvoiceOrder'
        - $ref: '#/components/schemas/RentalOrder'
        - $ref: '#/components/schemas/TitledOrder'
    Error:
      properties:
        code:
          description: Machine-readable error category.
          type: string
        detail:
          description: Short human-readable summary of the error.
          type: string
        errors:
          description: Field-level validation errors, when applicable.
          items:
            $ref: '#/components/schemas/ErrorItem'
          type: array
      required:
        - detail
        - code
      type: object
    ClaimCreateRequest:
      discriminator:
        mapping:
          receivable: '#/components/schemas/ReceivableClaimCreateRequest'
          titled: '#/components/schemas/TitledClaimCreateRequest'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/ReceivableClaimCreateRequest'
        - $ref: '#/components/schemas/TitledClaimCreateRequest'
    RentalAgreementInlineRequest:
      description: >-
        Unknown and read-only request fields are rejected with a validation
        error instead of being silently ignored.
      properties:
        contract_date:
          description: >-
            Date on which the rental contract was concluded; this is not the
            tenancy start or move-in date. Required before finalization.
          format: date
          nullable: true
          type: string
        documents:
          description: >-
            Documents attached to the rental agreement during inline creation. A
            command may contain at most 20 documents in total across all nested
            claims, titles, and rental agreements. The combined decoded document
            content across the command must not exceed 50 MiB; each file is
            limited to 10 MiB and each PDF to 100 pages. Exceeding a limit
            rejects the command with 400.
          items:
            $ref: '#/components/schemas/InlineRentalAgreementDocumentCreateRequest'
          type: array
        due_rule:
          allOf:
            - $ref: '#/components/schemas/RentalDueRuleRequest'
          description: >-
            Optional rental due-date rule. Omit or set null to use the third
            German business day of the rental month for H17/H19 claims; explicit
            claim-level dates override the derived result.
          nullable: true
        monthly_rent:
          allOf:
            - $ref: '#/components/schemas/MonthlyRentWriteRequest'
          description: >-
            Total recurring Warmmiete, including ancillary-cost prepayments; it
            does not constrain an individual claim amount. May be absent or null
            while drafting; must be positive before finalization.
          nullable: true
        property_address:
          allOf:
            - $ref: '#/components/schemas/RentalPropertyAddressWriteRequest'
          description: >-
            Complete address of the rented property, even when it matches the
            debtor address. Supply street, postal_code, city, and country; this
            creates a separate property address and does not reuse a debtor
            address id or primary flag. A complete property address is required
            before finalization.
          nullable: true
      type: object
    StartingApproachEnum:
      enum:
        - extrajudicial
        - judicial
      type: string
    OrderTypeEnum:
      description: |-
        * `invoice` - invoice
        * `rental` - rental
        * `titled` - titled
      enum:
        - invoice
        - rental
        - titled
      type: string
    InvoiceOrder:
      description: >-
        An invoice order contains receivable claims and exposes
        `starting_approach` and `creditor_obligation_fulfilled`.


        Read representation of an order.


        `status` is derived from the order's submission and review progress;

        `mandate` names the

        created mandate once the order is accepted; `merged_into` names the

        surviving order when this order was merged away during review.
      properties:
        additional_debtors:
          description: >-
            Inline summaries of the additional debtors. Retrieve each debtor's
            full details with GET /v2/debtors/{id}/ using its id. Replace
            membership through PATCH /v2/orders/{id}/ while the order is a
            draft. API submissions are limited to 10 additional debtors.
          items:
            $ref: '#/components/schemas/DebtorSummary'
          readOnly: true
          type: array
        claims:
          description: >-
            Receivable claims belonging to this order, including their itemized
            charges and documents. Titled claims are accepted only in titled
            orders. API submissions are limited to 50 claims per order.
          items:
            $ref: '#/components/schemas/Claim'
          readOnly: true
          type: array
        confirmation_email:
          description: Address receiving the order-entry confirmation, when requested.
          format: email
          nullable: true
          readOnly: true
          type: string
        created_at:
          description: Time at which the order was created.
          format: date-time
          readOnly: true
          type: string
        creditor_obligation_fulfilled:
          description: Whether you fully performed your obligation to the debtor.
          nullable: true
          readOnly: true
          type: boolean
        debtor:
          allOf:
            - $ref: '#/components/schemas/DebtorSummary'
          description: >-
            Inline summary of the primary debtor. Retrieve full details with GET
            /v2/debtors/{id}/ using its id.
          readOnly: true
        expires_at:
          description: >-
            Time at which this API-created draft expires: updated_at plus 90
            days, refreshed by every successful draft change. Once it has
            passed, the order reads expired and every change answers 409
            order_expired until the daily cleanup deletes it. Null once the
            order is finalized and for orders created in the portal.
          format: date-time
          nullable: true
          readOnly: true
          type: string
        id:
          description: Stable identifier of this order.
          format: uuid
          readOnly: true
          type: string
        mandate:
          description: Accepted case created from this order, when available.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        merged_into:
          description: Surviving order when this order was merged during review.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        rejection:
          allOf:
            - $ref: '#/components/schemas/OrderRejection'
          description: >-
            Why paywise declined the order: reason, time, notified recipients,
            and the standard reason's key. Null unless status is rejected.
          nullable: true
          readOnly: true
        starting_approach:
          allOf:
            - $ref: '#/components/schemas/StartingApproachEnum'
          description: >-
            Initial collection route: extrajudicial starts out of court;
            judicial starts by applying for a payment order (Mahnbescheid). Null
            while this decision is unset.
          nullable: true
          readOnly: true
        status:
          allOf:
            - $ref: '#/components/schemas/OrderStatusEnum'
          description: >-
            Order lifecycle state: draft is editable; submitted awaits
            processing; awaiting_client_response requires client input; accepted
            has entered case processing; rejected was declined; withdrawn was
            cancelled by the client; expired passed its draft deadline and
            accepts no further changes (409 order_expired) until the daily
            cleanup deletes it; merged points to the surviving order in
            merged_into.
          readOnly: true
        totals:
          allOf:
            - $ref: '#/components/schemas/OrderTotals'
          description: Financial totals calculated across the order's claims.
          readOnly: true
        type:
          allOf:
            - $ref: '#/components/schemas/InvoiceOrderTypeEnum'
          description: Literal invoice order discriminator.
          readOnly: true
        updated_at:
          description: Time at which the order was last updated.
          format: date-time
          readOnly: true
          type: string
      required:
        - additional_debtors
        - claims
        - confirmation_email
        - created_at
        - creditor_obligation_fulfilled
        - debtor
        - expires_at
        - id
        - mandate
        - merged_into
        - rejection
        - starting_approach
        - status
        - totals
        - type
        - updated_at
      title: Invoice order
      type: object
    RentalOrder:
      description: >-
        A rental order contains receivable claims and one `rental_agreement`,
        alongside `starting_approach` and `creditor_obligation_fulfilled`.


        Read representation of an order.


        `status` is derived from the order's submission and review progress;

        `mandate` names the

        created mandate once the order is accepted; `merged_into` names the

        surviving order when this order was merged away during review.
      properties:
        additional_debtors:
          description: >-
            Inline summaries of the additional debtors. Retrieve each debtor's
            full details with GET /v2/debtors/{id}/ using its id. Replace
            membership through PATCH /v2/orders/{id}/ while the order is a
            draft. API submissions are limited to 10 additional debtors.
          items:
            $ref: '#/components/schemas/DebtorSummary'
          readOnly: true
          type: array
        claims:
          description: >-
            Receivable claims belonging to this order, including their itemized
            charges and documents. Titled claims are accepted only in titled
            orders. API submissions are limited to 50 claims per order.
          items:
            $ref: '#/components/schemas/Claim'
          readOnly: true
          type: array
        confirmation_email:
          description: Address receiving the order-entry confirmation, when requested.
          format: email
          nullable: true
          readOnly: true
          type: string
        created_at:
          description: Time at which the order was created.
          format: date-time
          readOnly: true
          type: string
        creditor_obligation_fulfilled:
          description: Whether you fully performed your obligation to the debtor.
          nullable: true
          readOnly: true
          type: boolean
        debtor:
          allOf:
            - $ref: '#/components/schemas/DebtorSummary'
          description: >-
            Inline summary of the primary debtor. Retrieve full details with GET
            /v2/debtors/{id}/ using its id.
          readOnly: true
        expires_at:
          description: >-
            Time at which this API-created draft expires: updated_at plus 90
            days, refreshed by every successful draft change. Once it has
            passed, the order reads expired and every change answers 409
            order_expired until the daily cleanup deletes it. Null once the
            order is finalized and for orders created in the portal.
          format: date-time
          nullable: true
          readOnly: true
          type: string
        id:
          description: Stable identifier of this order.
          format: uuid
          readOnly: true
          type: string
        mandate:
          description: Accepted case created from this order, when available.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        merged_into:
          description: Surviving order when this order was merged during review.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        rejection:
          allOf:
            - $ref: '#/components/schemas/OrderRejection'
          description: >-
            Why paywise declined the order: reason, time, notified recipients,
            and the standard reason's key. Null unless status is rejected.
          nullable: true
          readOnly: true
        rental_agreement:
          allOf:
            - $ref: '#/components/schemas/RentalAgreementRead'
          description: Rental-agreement singleton owned by this order.
          nullable: true
          readOnly: true
        starting_approach:
          allOf:
            - $ref: '#/components/schemas/StartingApproachEnum'
          description: >-
            Initial collection route: extrajudicial starts out of court;
            judicial starts by applying for a payment order (Mahnbescheid). Null
            while this decision is unset.
          nullable: true
          readOnly: true
        status:
          allOf:
            - $ref: '#/components/schemas/OrderStatusEnum'
          description: >-
            Order lifecycle state: draft is editable; submitted awaits
            processing; awaiting_client_response requires client input; accepted
            has entered case processing; rejected was declined; withdrawn was
            cancelled by the client; expired passed its draft deadline and
            accepts no further changes (409 order_expired) until the daily
            cleanup deletes it; merged points to the surviving order in
            merged_into.
          readOnly: true
        totals:
          allOf:
            - $ref: '#/components/schemas/OrderTotals'
          description: Financial totals calculated across the order's claims.
          readOnly: true
        type:
          allOf:
            - $ref: '#/components/schemas/RentalOrderTypeEnum'
          description: Literal rental order discriminator.
          readOnly: true
        updated_at:
          description: Time at which the order was last updated.
          format: date-time
          readOnly: true
          type: string
      required:
        - additional_debtors
        - claims
        - confirmation_email
        - created_at
        - creditor_obligation_fulfilled
        - debtor
        - expires_at
        - id
        - mandate
        - merged_into
        - rejection
        - rental_agreement
        - starting_approach
        - status
        - totals
        - type
        - updated_at
      title: Rental order
      type: object
    TitledOrder:
      description: >-
        A titled order contains titled claims and may include receivable claims
        for enforcement costs. It exposes `success_fee_confirmed` and omits
        `starting_approach` and `creditor_obligation_fulfilled`; enforcement is
        implicit.


        Read representation of an order.


        `status` is derived from the order's submission and review progress;

        `mandate` names the

        created mandate once the order is accepted; `merged_into` names the

        surviving order when this order was merged away during review.
      properties:
        additional_debtors:
          description: >-
            Inline summaries of the additional debtors. Retrieve each debtor's
            full details with GET /v2/debtors/{id}/ using its id. Replace
            membership through PATCH /v2/orders/{id}/ while the order is a
            draft. API submissions are limited to 10 additional debtors.
          items:
            $ref: '#/components/schemas/DebtorSummary'
          readOnly: true
          type: array
        claims:
          description: >-
            Titled claims owning enforceable titles, plus any receivable claims
            for enforcement costs (K014). At least one complete titled claim is
            required before finalization. API submissions are limited to 50
            claims per order.
          items:
            $ref: '#/components/schemas/Claim'
          readOnly: true
          type: array
        confirmation_email:
          description: Address receiving the order-entry confirmation, when requested.
          format: email
          nullable: true
          readOnly: true
          type: string
        created_at:
          description: Time at which the order was created.
          format: date-time
          readOnly: true
          type: string
        debtor:
          allOf:
            - $ref: '#/components/schemas/DebtorSummary'
          description: >-
            Inline summary of the primary debtor. Retrieve full details with GET
            /v2/debtors/{id}/ using its id.
          readOnly: true
        expires_at:
          description: >-
            Time at which this API-created draft expires: updated_at plus 90
            days, refreshed by every successful draft change. Once it has
            passed, the order reads expired and every change answers 409
            order_expired until the daily cleanup deletes it. Null once the
            order is finalized and for orders created in the portal.
          format: date-time
          nullable: true
          readOnly: true
          type: string
        id:
          description: Stable identifier of this order.
          format: uuid
          readOnly: true
          type: string
        mandate:
          description: Accepted case created from this order, when available.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        merged_into:
          description: Surviving order when this order was merged during review.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        rejection:
          allOf:
            - $ref: '#/components/schemas/OrderRejection'
          description: >-
            Why paywise declined the order: reason, time, notified recipients,
            and the standard reason's key. Null unless status is rejected.
          nullable: true
          readOnly: true
        status:
          allOf:
            - $ref: '#/components/schemas/OrderStatusEnum'
          description: >-
            Order lifecycle state: draft is editable; submitted awaits
            processing; awaiting_client_response requires client input; accepted
            has entered case processing; rejected was declined; withdrawn was
            cancelled by the client; expired passed its draft deadline and
            accepts no further changes (409 order_expired) until the daily
            cleanup deletes it; merged points to the surviving order in
            merged_into.
          readOnly: true
        success_fee_confirmed:
          description: >-
            Whether the titled-order success-fee arrangement has been confirmed
            for finalization. See the [paywise General Terms and Conditions
            (AGB)](https://paywise.de/agb/) for the exact conditions for titled
            orders.
          readOnly: true
          type: boolean
        totals:
          allOf:
            - $ref: '#/components/schemas/OrderTotals'
          description: Financial totals calculated across the order's claims.
          readOnly: true
        type:
          allOf:
            - $ref: '#/components/schemas/TitledOrderTypeEnum'
          description: Literal titled order discriminator.
          readOnly: true
        updated_at:
          description: Time at which the order was last updated.
          format: date-time
          readOnly: true
          type: string
      required:
        - additional_debtors
        - claims
        - confirmation_email
        - created_at
        - debtor
        - expires_at
        - id
        - mandate
        - merged_into
        - rejection
        - status
        - success_fee_confirmed
        - totals
        - type
        - updated_at
      title: Titled order
      type: object
    ErrorItem:
      properties:
        code:
          description: Machine-readable field error code.
          type: string
        field:
          description: >-
            Path to the field that caused the error, using dots for objects and
            brackets for list indexes, for example `claims[0].amount`; null for
            an error without a field path.
          nullable: true
          type: string
        message:
          description: Human-readable explanation of the field error.
          type: string
      required:
        - field
        - code
        - message
      type: object
    ReceivableClaimCreateRequest:
      description: 'Create a receivable claim: the amount is stated on the claim itself.'
      properties:
        additional_charges:
          description: >-
            Itemized incidental claims such as reminder or bank fees. Maximum 50
            entries per claim.
          items:
            $ref: '#/components/schemas/ClaimChargeWriteRequest'
          maxItems: 50
          type: array
        delay_date:
          description: >-
            Date from which the debtor is considered in payment default. For
            H17/H19 rent, omission on creation derives the day after due_date,
            an explicit date overrides it, and null restores derivation. For
            other receivables, omission allows automatic calculation from
            available dates; null explicitly clears the date. An explicit date
            must follow the applicable due or reminder date.
          format: date
          nullable: true
          type: string
        dispute_reason:
          description: >-
            Debtor's stated reason for disputing the claim. Required and
            non-blank when is_disputed is true; must be empty or null when it is
            false.
          maxLength: 2500
          nullable: true
          type: string
        document_date:
          description: >-
            Date of the invoice, contract, or other claim document. For H17/H19
            rent, supply the first day of the rental month; only one rental
            claim per calendar month is allowed. Required and cannot be in the
            future at finalization.
          format: date
          nullable: true
          type: string
        document_reference:
          description: Invoice, contract, or other source-document number.
          maxLength: 255
          nullable: true
          type: string
        documents:
          description: >-
            Documents attached to this receivable claim. A command may contain
            at most 20 documents in total across all nested claims, titles, and
            rental agreements. The combined decoded document content across the
            command must not exceed 50 MiB; each file is limited to 10 MiB and
            each PDF to 100 pages. Exceeding a limit rejects the command with
            400.
          items:
            $ref: '#/components/schemas/InlineClaimDocumentCreateRequest'
          maxItems: 20
          type: array
        due_date:
          description: >-
            Date on which the principal became due. For H17/H19 rent, omission
            on creation derives it from the agreement; an explicit date
            overrides that rule and null restores derivation. For other
            receivables it cannot precede document_date.
          format: date
          nullable: true
          type: string
        events:
          description: Contextual events supplied when creating the claim.
          items:
            $ref: '#/components/schemas/ClaimEventWriteRequest'
          type: array
        is_disputed:
          description: Whether the debtor disputes the claim.
          type: boolean
        items:
          description: >-
            Optional invoice or contract lines supporting the principal claim.
            Supply principal_amount separately; these lines do not calculate it.
            Maximum 100 entries per claim.
          items:
            $ref: '#/components/schemas/ClaimItemWriteRequest'
          maxItems: 100
          type: array
        legal_basis:
          allOf:
            - $ref: '#/components/schemas/ClaimLegalBasisWriteRequest'
          description: >-
            Legal basis for a receivable claim; titled enforcement costs derive
            K014 and therefore omit this field.
        metadata:
          description: >-
            Metadata supplied when creating the claim; duplicate types are
            allowed.
          items:
            $ref: '#/components/schemas/ClaimMetadataWriteRequest'
          type: array
        payments:
          description: >-
            Payments already received for this claim. Maximum 50 entries per
            claim during creation; report later payments through the payment
            endpoints.
          example:
            - amount:
                currency: EUR
                value: '50.00'
              value_date: '2026-07-17'
              your_reference: BANK-TRANSACTION-99812
          items:
            $ref: '#/components/schemas/PaymentWriteRequest'
          maxItems: 50
          type: array
        principal_amount:
          allOf:
            - $ref: '#/components/schemas/ClaimPrincipalAmountWriteRequest'
          description: >-
            Original principal amount including VAT, before charges and
            payments. Required even when items are supplied; line items do not
            calculate this value for you. The principal must be positive before
            finalization.
        reminders:
          description: >-
            Payment reminders in chronological order. The first reminder cannot
            precede the claim due date, or document date when no due date is
            set; later reminders cannot precede an earlier reminder or its
            payment deadline. Maximum 50 entries per claim.
          items:
            $ref: '#/components/schemas/ClaimReminderWriteRequest'
          maxItems: 50
          type: array
        subject_matter:
          description: >-
            Goods, services, or other obligation underlying the claim. Before
            finalization, a receivable claim must have non-blank subject_matter
            or at least one claim document. Maximum 2000 characters.
          maxLength: 2000
          nullable: true
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/ReceivableClaimTypeEnum'
          description: Literal receivable claim discriminator.
        your_reference:
          description: Your reference for this claim.
          maxLength: 255
          nullable: true
          type: string
      required:
        - is_disputed
        - principal_amount
        - type
      title: Receivable claim
      type: object
    TitledClaimCreateRequest:
      description: 'Create a titled claim: the enforceable title owns amount and dates.'
      properties:
        dispute_reason:
          description: >-
            Debtor's stated reason for disputing the claim. Required and
            non-blank when is_disputed is true; must be empty or null when it is
            false.
          maxLength: 2500
          nullable: true
          type: string
        document_reference:
          description: Invoice, contract, or other source-document number.
          maxLength: 255
          nullable: true
          type: string
        enforceable_title:
          allOf:
            - $ref: '#/components/schemas/EnforceableTitleInlineRequest'
          description: >-
            Claim-owned enforceable title; required for a titled claim, which
            only a titled order accepts.
        events:
          description: Contextual events supplied when creating the claim.
          items:
            $ref: '#/components/schemas/ClaimEventWriteRequest'
          type: array
        is_disputed:
          description: Whether the debtor disputes the claim.
          type: boolean
        metadata:
          description: >-
            Metadata supplied when creating the claim; duplicate types are
            allowed.
          items:
            $ref: '#/components/schemas/ClaimMetadataWriteRequest'
          type: array
        payments:
          description: >-
            Payments already received for this claim. Maximum 50 entries per
            claim during creation; report later payments through the payment
            endpoints.
          example:
            - amount:
                currency: EUR
                value: '50.00'
              value_date: '2026-07-17'
              your_reference: BANK-TRANSACTION-99812
          items:
            $ref: '#/components/schemas/PaymentWriteRequest'
          maxItems: 50
          type: array
        subject_matter:
          description: >-
            Goods, services, or other obligation underlying the claim. Maximum
            2000 characters.
          maxLength: 2000
          nullable: true
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/TitledClaimTypeEnum'
          description: Literal titled claim discriminator.
        your_reference:
          description: Your reference for this claim.
          maxLength: 255
          nullable: true
          type: string
      required:
        - enforceable_title
        - is_disputed
        - type
      title: Titled claim
      type: object
    InlineRentalAgreementDocumentCreateRequest:
      additionalProperties: false
      description: Document embedded inline in a claim, message, or answer payload.
      properties:
        base64:
          description: >-
            Required base64-encoded PDF, JPEG, or PNG content. Maximum decoded
            file size: 10 MiB (10,485,760 bytes); maximum PDF length: 100 pages.
            Across the entire command, at most 20 documents and 50 MiB of
            decoded content are allowed, including documents nested under other
            parents. Exceeding a limit returns 400; too many PDF pages uses
            page_limit_exceeded.
          maxLength: 15029589
          minLength: 1
          type: string
        filename:
          description: >-
            Original filename shown to users. Path components and control
            characters are removed and the extension always follows the detected
            content type.
          maxLength: 255
          minLength: 1
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/RentalAgreementDocumentTypeEnum'
          description: >-
            Agreement document purpose: rental_agreement and claim_statement
            each occupy a single optional document slot; other supplies
            supporting documents and may be used multiple times.
      required:
        - base64
        - type
      type: object
    RentalDueRuleRequest:
      description: Both keys are required even under the singleton's partial PATCH.
      properties:
        day:
          description: >-
            Day number from 1 to 31 within the rental month: calendar day for
            calendar_day, or ordinal business day for business_day. If the month
            has fewer such days, the last applicable day is used.
          maximum: 31
          minimum: 1
          type: integer
        kind:
          $ref: '#/components/schemas/KindEnum'
          description: >-
            How to interpret day: calendar_day counts all dates; business_day
            counts Monday through Friday excluding German federal public
            holidays. State-specific holidays are not considered.
      required:
        - day
        - kind
      type: object
    MonthlyRentWriteRequest:
      description: The agreed monthly rent; `RentalAgreement.base_rent` is NUMERIC(10,2).
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          default: EUR
          description: |-
            Currency of the amount; currently always EUR.

            * `EUR` - EUR
        value:
          description: >-
            Monthly rent expressed with two decimal places (up to 8 digits
            before the point).
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
          type: string
      required:
        - value
      type: object
    RentalPropertyAddressWriteRequest:
      description: A complete property address, with no debtor collection metadata.
      properties:
        city:
          description: City of the rented property.
          maxLength: 100
          minLength: 1
          type: string
        country:
          allOf:
            - $ref: '#/components/schemas/CountryEnum'
          description: ISO 3166-1 alpha-2 country code of the rented property.
        postal_code:
          description: Postal code of the rented property.
          maxLength: 100
          minLength: 1
          type: string
        street:
          description: Street and house number of the rented property.
          maxLength: 255
          minLength: 1
          type: string
      required:
        - city
        - country
        - postal_code
        - street
      type: object
    DebtorSummary:
      properties:
        acting_as:
          allOf:
            - $ref: '#/components/schemas/ActingAsEnum'
          description: >-
            Whether the debtor incurred the obligation as a consumer or in a
            business capacity.


            * `consumer` - consumer

            * `business` - business
          readOnly: true
        events:
          description: Stored contextual events associated with this resource.
          items:
            $ref: '#/components/schemas/LegacyEventRead'
          readOnly: true
          type: array
        id:
          description: Stable identifier of this debtor.
          format: uuid
          readOnly: true
          type: string
        legal_form:
          description: >-
            Permanent public legal-form code; look up its label and
            representation rules with GET /v2/legal-forms/. Null for consumers.
          nullable: true
          readOnly: true
          type: string
        metadata:
          description: Stored metadata entries; duplicate types remain separate entries.
          items:
            $ref: '#/components/schemas/LegacyMetadataRead'
          readOnly: true
          type: array
        organization:
          allOf:
            - $ref: '#/components/schemas/OrganizationRead'
          description: Organization identity for a business debtor.
          nullable: true
          readOnly: true
        person:
          allOf:
            - $ref: '#/components/schemas/PersonRead'
          description: Natural-person identity for a consumer or sole proprietor.
          nullable: true
          readOnly: true
        your_reference:
          description: Your reference for this debtor.
          nullable: true
          readOnly: true
          type: string
      required:
        - acting_as
        - events
        - id
        - legal_form
        - metadata
        - organization
        - person
        - your_reference
      type: object
    Claim:
      discriminator:
        mapping:
          receivable: '#/components/schemas/ReceivableClaim'
          titled: '#/components/schemas/TitledClaim'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/ReceivableClaim'
        - $ref: '#/components/schemas/TitledClaim'
    OrderRejection:
      description: Why and when paywise declined an order, present only while rejected.
      properties:
        code:
          description: >-
            Stable machine-readable key of the standard rejection reason when
            the rejection used one; null for an individually worded rejection.
          nullable: true
          readOnly: true
          type: string
        notified_to:
          description: >-
            E-mail addresses of your company's status-update recipients the
            rejection notice was delivered to. Empty when no notice was sent.
          items:
            format: email
            type: string
          readOnly: true
          type: array
        reason:
          description: >-
            Plain-text reason paywise gave for rejecting the order: the wording
            of the rejection notice with formatting removed.
          nullable: true
          readOnly: true
          type: string
        rejected_at:
          description: Time at which paywise rejected the order.
          format: date-time
          readOnly: true
          type: string
      required:
        - code
        - notified_to
        - reason
        - rejected_at
      type: object
    OrderStatusEnum:
      enum:
        - draft
        - submitted
        - awaiting_client_response
        - accepted
        - rejected
        - withdrawn
        - expired
        - merged
      type: string
    OrderTotals:
      properties:
        charges:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: Sum of itemized additional charges on receivable claims.
          readOnly: true
        main_claims:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: >-
            Sum of receivable-claim principal amounts plus gross
            enforceable-title amounts.
          readOnly: true
        order_value:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: >-
            Current open value for invoice and rental orders; for titled orders,
            gross main_claims plus charges, with payments reported separately.
          readOnly: true
        payments:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: Sum of payments already reported for the order's claims.
          readOnly: true
      required:
        - charges
        - main_claims
        - order_value
        - payments
      type: object
    InvoiceOrderTypeEnum:
      enum:
        - invoice
      type: string
    RentalAgreementRead:
      properties:
        contract_date:
          description: >-
            Date on which the rental contract was concluded; this is not the
            tenancy start or move-in date.
          format: date
          nullable: true
          readOnly: true
          type: string
        created_at:
          description: Time at which the rental agreement was created.
          format: date-time
          readOnly: true
          type: string
        documents:
          description: >-
            Documents owned by the agreement, including the optional
            rental-agreement and claim-statement primary slots.
          items:
            $ref: '#/components/schemas/DocumentRead'
          readOnly: true
          type: array
        due_rule:
          allOf:
            - $ref: '#/components/schemas/RentalDueRule'
          description: >-
            Rule used to derive H17/H19 rental due dates. Null means the default
            third German business day of the rental month applies; explicit
            claim-level dates override the derived result.
          nullable: true
          readOnly: true
        id:
          description: Stable identifier of the rental agreement.
          format: uuid
          readOnly: true
          type: string
        monthly_rent:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: >-
            Total recurring Warmmiete, including ancillary-cost prepayments; it
            does not constrain an individual claim amount.
          nullable: true
          readOnly: true
        property_address:
          allOf:
            - $ref: '#/components/schemas/RentalPropertyAddressRead'
          description: >-
            Complete address of the rented property, even when it matches the
            debtor address.
          nullable: true
          readOnly: true
        updated_at:
          description: Time at which the rental agreement last changed.
          format: date-time
          readOnly: true
          type: string
      required:
        - contract_date
        - created_at
        - documents
        - due_rule
        - id
        - monthly_rent
        - property_address
        - updated_at
      type: object
    RentalOrderTypeEnum:
      enum:
        - rental
      type: string
    TitledOrderTypeEnum:
      enum:
        - titled
      type: string
    ClaimChargeWriteRequest:
      description: An additional charge / incidental claim (Nebenforderung).
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountWriteRequest'
          description: >-
            Amount of the additional charge. Zero is accepted while drafting,
            but the amount must be positive before finalization.
        events:
          description: Contextual events for this new charge.
          items:
            $ref: '#/components/schemas/AdditionalChargeEventWriteRequest'
          type: array
        metadata:
          description: Metadata for this new charge; duplicate types are allowed.
          items:
            $ref: '#/components/schemas/ClaimMetadataWriteRequest'
          type: array
        occurrence_date:
          description: >-
            Date on which the additional charge arose; required before the order
            can be finalized.
          format: date
          nullable: true
          type: string
        subject_matter:
          description: Reason or subject of the additional charge. Maximum 2000 characters.
          maxLength: 2000
          nullable: true
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/CaseChargeTypeEnum'
          description: |-
            Business category of the additional charge.

            * `reminder_fee` - reminder_fee
            * `bank_charge` - bank_charge
            * `research_costs` - research_costs
        your_reference:
          description: Your reference for this additional charge.
          maxLength: 255
          nullable: true
          type: string
      required:
        - amount
        - type
      type: object
    InlineClaimDocumentCreateRequest:
      additionalProperties: false
      description: Document embedded inline in a claim, message, or answer payload.
      properties:
        base64:
          description: >-
            Required base64-encoded PDF, JPEG, or PNG content. Maximum decoded
            file size: 10 MiB (10,485,760 bytes); maximum PDF length: 100 pages.
            Across the entire command, at most 20 documents and 50 MiB of
            decoded content are allowed, including documents nested under other
            parents. Exceeding a limit returns 400; too many PDF pages uses
            page_limit_exceeded.
          maxLength: 15029589
          minLength: 1
          type: string
        filename:
          description: >-
            Original filename shown to users. Path components and control
            characters are removed and the extension always follows the detected
            content type.
          maxLength: 255
          minLength: 1
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/ClaimDocumentTypeEnum'
          description: |-
            Business purpose of the document.

            * `bank_statement` - bank_statement
            * `claim_statement` - claim_statement
            * `correspondence` - correspondence
            * `invoice` - invoice
            * `other` - other
            * `payment_proof` - payment_proof
            * `reminder` - reminder
      required:
        - base64
        - type
      type: object
    ClaimEventWriteRequest:
      description: >-
        A contextual event supplied when creating a debtor, claim, or additional
        charge.
      properties:
        description:
          description: Optional description of the event.
          maxLength: 255
          nullable: true
          type: string
        location:
          description: Optional location associated with the event.
          maxLength: 255
          nullable: true
          type: string
        occurence:
          description: >-
            Time at which the event occurred; the historical field spelling is
            intentional.
          format: date-time
          type: string
        title:
          description: Human-readable title of the event.
          maxLength: 255
          minLength: 1
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/ClaimEventWriteTypeEnum'
          description: |-
            Claim event type.

            * `claim` - claim
            * `delivery` - delivery
        your_reference:
          description: Your optional reference for the event.
          maxLength: 255
          nullable: true
          type: string
      required:
        - occurence
        - title
        - type
      type: object
    ClaimItemWriteRequest:
      description: A line item on a claim (Rechnungsposten).
      properties:
        description:
          description: Goods or service represented by this invoice or contract line.
          maxLength: 1000
          minLength: 1
          type: string
        quantity:
          description: >-
            Non-negative number of units represented by this line; up to six
            decimal places are supported.
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,6})?$
          type: string
        unit:
          description: Unit of measure for the quantity, when applicable.
          maxLength: 255
          nullable: true
          type: string
        unit_price:
          allOf:
            - $ref: '#/components/schemas/ClaimUnitPriceWriteRequest'
          description: Price of one unit before multiplying by quantity.
      required:
        - description
        - quantity
        - unit_price
      type: object
    ClaimLegalBasisWriteRequest:
      description: |-
        Writable singular legal basis.

        Every key is optional: an absent key keeps the company default (create)
        or the stored value (PATCH); a supplied value — including `null` for
        `description` — is persisted as sent.
      properties:
        claim_type_code:
          description: >-
            Public claim code. H17 (commercial rent) and H19 (residential rent)
            are valid only in rental orders and cannot be mixed in one order.
            Receivable enforcement costs in a titled order derive K014; do not
            supply a code for them. For other receivables, omission on creation
            or an empty string uses the company default when configured;
            omission on PATCH preserves the current code. See [legal basis
            codes](https://docs.paywise.de/api-docs/case-management-api/concepts/claims#legal-basis-codes)
            for the full code-to-meaning table.
          enum:
            - H01
            - H02
            - H03
            - H04
            - H05
            - H06
            - H07
            - H08
            - H09
            - H10
            - H11
            - H12
            - H13
            - H14
            - H15
            - H16
            - H17
            - H18
            - H19
            - H20
            - H21
            - H22
            - H23
            - H24
            - H25
            - H26
            - H27
            - H28
            - H29
            - H30
            - H31
            - H32
            - H33
            - H34
            - H35
            - H36
            - H37
            - H38
            - H39
            - H40
            - H41
            - H42
            - H43
            - H44
            - H45
            - H46
            - H61
            - H70
            - H75
            - H76
            - H77
            - H78
            - H79
            - H80
            - H90
            - H95
          type: string
        contract_date:
          description: >-
            Date the underlying contract was concluded. For H17/H19 rent it is
            derived from the rental agreement and a supplied value must match.
            For other receivables it cannot follow document_date; when omitted
            during creation it defaults to document_date.
          format: date
          nullable: true
          type: string
        description:
          description: >-
            Terms or circumstances establishing the principal claim. Omission
            during creation, null, or an empty string uses the company default
            when configured; an omitted PATCH property keeps its current value.
            Maximum 2000 characters.
          maxLength: 2000
          nullable: true
          type: string
      type: object
    ClaimMetadataWriteRequest:
      description: One creation-time metadata row; duplicate types are intentional.
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/ClaimMetadataWriteTypeEnum'
          description: >-
            Claim or additional-charge metadata type.


            * `comment` - comment

            * `invoice:reference` - invoice:reference

            * `invoice:date` - invoice:date

            * `invoice:address_line_1` - invoice:address_line_1

            * `invoice:address_line_2` - invoice:address_line_2

            * `invoice:address_city` - invoice:address_city

            * `invoice:address_country` - invoice:address_country

            * `invoice:address_zip` - invoice:address_zip

            * `invoice:amount` - invoice:amount

            * `transaction:reference` - transaction:reference

            * `transaction:source_ip_address` - transaction:source_ip_address

            * `contract:reference` - contract:reference

            * `report:reference` - report:reference

            * `account:reference` - account:reference

            * `claim:holder:address:country` - claim:holder:address:country

            * `claim:holder:address:city` - claim:holder:address:city

            * `claim:holder:name` - claim:holder:name

            * `dunning:level` - dunning:level

            * `reminder:date` - reminder:date

            * `reminder:amount:value` - reminder:amount:value

            * `reminder:amount:currency` - reminder:amount:currency

            * `notification:date` - notification:date

            * `confirmation:email` - confirmation:email

            * `order:rate` - order:rate

            * `order:deposit` - order:deposit

            * `order:cashback` - order:cashback

            * `order:prepaid` - order:prepaid

            * `order:type` - order:type

            * `rental:pickup:date` - rental:pickup:date

            * `rental:pickup:time` - rental:pickup:time

            * `rental:pickup:city` - rental:pickup:city

            * `rental:dropoff:date` - rental:dropoff:date

            * `rental:dropoff:time` - rental:dropoff:time

            * `rental:dropoff:city` - rental:dropoff:city

            * `rental:gps_tracking` - rental:gps_tracking

            * `rental:charged_items` - rental:charged_items

            * `payment:method` - payment:method

            * `import:csv:filename` - import:csv:filename

            * `insurance:bonus_malus_system` - insurance:bonus_malus_system

            * `insurance:contribution_rate` - insurance:contribution_rate

            * `insurance:regional_class_liability_insurance` -
            insurance:regional_class_liability_insurance

            * `insurance:regional_class_partial_coverage` -
            insurance:regional_class_partial_coverage

            * `payment:frequency` - payment:frequency

            * `language` - language

            * `tax:id` - tax:id

            * `notification_delivery:date` - notification_delivery:date

            * `merchant:address_line1` - merchant:address_line1

            * `merchant:address_city` - merchant:address_city

            * `merchant:address_zip` - merchant:address_zip

            * `merchant:address_country` - merchant:address_country

            * `merchant:company_name` - merchant:company_name

            * `merchant:company_type` - merchant:company_type

            * `merchant:representative_firstname` -
            merchant:representative_firstname

            * `merchant:representative_secondname` -
            merchant:representative_secondname

            * `merchant:website_url` - merchant:website_url

            * `chargeback:reason` - chargeback:reason

            * `shop:website_url` - shop:website_url

            * `subscription:overdue_period` - subscription:overdue_period

            * `subscription:duration` - subscription:duration

            * `subscription:start` - subscription:start

            * `subscription:delivery:address` - subscription:delivery:address

            * `subscription:reference` - subscription:reference

            * `subscription:renewal` - subscription:renewal

            * `subscription:last_login` - subscription:last_login

            * `subscription:photo_available` - subscription:photo_available

            * `subscription:type` - subscription:type

            * `subscription:termination` - subscription:termination

            * `medical:patient` - medical:patient

            * `debtor:file_id` - debtor:file_id

            * `email:seller` - email:seller

            * `name:seller` - name:seller

            * `addressline:seller` - addressline:seller

            * `zip:seller` - zip:seller

            * `city:seller` - city:seller

            * `name:ditsributor` - name:ditsributor

            * `email:distributor` - email:distributor

            * `addressline:distributor` - addressline:distributor

            * `zip:distributor` - zip:distributor

            * `city:distributor` - city:distributor

            * `logo:distributor_pdf` - logo:distributor_pdf

            * `logo:distributor_email` - logo:distributor_email

            * `account:beneficiary` - account:beneficiary

            * `purchase:price` - purchase:price

            * `conditional:purchase_price` - conditional:purchase_price

            * `direct:payments` - direct:payments

            * `VAT` - VAT

            * `product:type` - product:type
        value:
          description: Metadata value; duplicate types remain separate entries.
          maxLength: 255
          minLength: 1
          type: string
      required:
        - type
        - value
      type: object
    PaymentWriteRequest:
      description: Payment input; the target is supplied exclusively by the URL.
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/PaymentAmountWriteRequest'
          description: Amount received.
        metadata:
          description: >-
            Metadata supplied when reporting the payment; duplicate types are
            allowed.
          items:
            $ref: '#/components/schemas/PaymentMetadataWriteRequest'
          type: array
        value_date:
          description: Date on which the payment was credited; must not be in the future.
          format: date
          type: string
        your_reference:
          description: Your reference for reconciling this payment.
          maxLength: 255
          nullable: true
          type: string
      required:
        - amount
        - value_date
      type: object
    ClaimPrincipalAmountWriteRequest:
      description: The principal amount of a receivable claim; a claim is never free.
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          default: EUR
          description: |-
            Currency of the amount; currently always EUR.

            * `EUR` - EUR
        value:
          description: Principal amount including VAT, at least 0.01.
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
          type: string
      required:
        - value
      type: object
    ClaimReminderWriteRequest:
      description: Writable reminder; ids retain rows only during PATCH replacement.
      properties:
        date:
          description: Date on which the payment reminder was issued.
          format: date
          type: string
        due_date:
          description: >-
            Payment deadline stated in the reminder, when present; cannot
            precede the reminder date.
          format: date
          nullable: true
          type: string
        id:
          description: >-
            Existing reminder identifier to retain during PATCH replacement.
            Omit for a new reminder; identifiers cannot be supplied when
            creating a claim and must belong to this claim.
          format: uuid
          type: string
      required:
        - date
      type: object
    ReceivableClaimTypeEnum:
      enum:
        - receivable
      type: string
    EnforceableTitleInlineRequest:
      description: >-
        Unknown and read-only request fields are rejected with a validation
        error instead of being silently ignored.
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/TitleAmountWriteRequest'
          description: >-
            Gross amount confirmed by the client and owned by the enforceable
            title. May be absent or null while drafting; must be positive before
            finalization.
          nullable: true
        documents:
          description: >-
            Documents attached to the enforceable title during inline creation.
            A command may contain at most 20 documents in total across all
            nested claims, titles, and rental agreements. The combined decoded
            document content across the command must not exceed 50 MiB; each
            file is limited to 10 MiB and each PDF to 100 pages. Exceeding a
            limit rejects the command with 400.
          items:
            $ref: '#/components/schemas/InlineEnforceableTitleDocumentCreateRequest'
          type: array
        file_number:
          description: >-
            Official file or reference number shown on the title. Required
            before finalization.
          maxLength: 255
          nullable: true
          type: string
        issued_on:
          description: >-
            Date on which the enforceable title was issued. Required before
            finalization.
          format: date
          nullable: true
          type: string
        issuing_authority:
          description: >-
            Court, notary, or other authority that issued the title. Required
            before finalization.
          maxLength: 255
          nullable: true
          type: string
        legally_binding_since:
          description: >-
            Optional date from which the title is legally binding; it cannot
            precede issued_on.
          format: date
          nullable: true
          type: string
        served_on:
          description: >-
            Optional date on which the title was served; it cannot precede
            issued_on.
          format: date
          nullable: true
          type: string
        title_type:
          allOf:
            - $ref: '#/components/schemas/TitleTypeEnum'
          description: >-
            Legal title category: enforcement_order = Vollstreckungsbescheid;
            default_judgment = Versäumnisurteil; final_judgment = Endurteil;
            acknowledgment_judgment = Anerkenntnisurteil; reservation_judgment =
            Vorbehaltsurteil; court_settlement = Gerichtlicher Vergleich;
            enforceable_notarial_deed = Vollstreckbare notarielle Urkunde;
            cost_assessment_order = Kostenfestsetzungsbeschluss; other =
            Sonstiger Titel. Required before finalization.
          nullable: true
      type: object
    TitledClaimTypeEnum:
      description: '* `titled` - Titled claim'
      enum:
        - titled
      type: string
    RentalAgreementDocumentTypeEnum:
      description: |-
        * `rental_agreement` - rental_agreement
        * `claim_statement` - claim_statement
        * `other` - other
      enum:
        - rental_agreement
        - claim_statement
        - other
      type: string
    KindEnum:
      description: |-
        * `calendar_day` - calendar_day
        * `business_day` - business_day
      enum:
        - calendar_day
        - business_day
      type: string
    CurrencyEnum:
      description: '* `EUR` - EUR'
      enum:
        - EUR
      type: string
    CountryEnum:
      description: |-
        * `AF` - Afghanistan
        * `AX` - Åland Islands
        * `AL` - Albania
        * `DZ` - Algeria
        * `AS` - American Samoa
        * `AD` - Andorra
        * `AO` - Angola
        * `AI` - Anguilla
        * `AQ` - Antarctica
        * `AG` - Antigua and Barbuda
        * `AR` - Argentina
        * `AM` - Armenia
        * `AW` - Aruba
        * `AU` - Australia
        * `AT` - Austria
        * `AZ` - Azerbaijan
        * `BS` - Bahamas
        * `BH` - Bahrain
        * `BD` - Bangladesh
        * `BB` - Barbados
        * `BY` - Belarus
        * `BE` - Belgium
        * `BZ` - Belize
        * `BJ` - Benin
        * `BM` - Bermuda
        * `BT` - Bhutan
        * `BO` - Bolivia
        * `BQ` - Bonaire, Sint Eustatius and Saba
        * `BA` - Bosnia and Herzegovina
        * `BW` - Botswana
        * `BV` - Bouvet Island
        * `BR` - Brazil
        * `IO` - British Indian Ocean Territory
        * `BN` - Brunei
        * `BG` - Bulgaria
        * `BF` - Burkina Faso
        * `BI` - Burundi
        * `CV` - Cabo Verde
        * `KH` - Cambodia
        * `CM` - Cameroon
        * `CA` - Canada
        * `KY` - Cayman Islands
        * `CF` - Central African Republic
        * `TD` - Chad
        * `CL` - Chile
        * `CN` - China
        * `CX` - Christmas Island
        * `CC` - Cocos (Keeling) Islands
        * `CO` - Colombia
        * `KM` - Comoros
        * `CG` - Congo
        * `CD` - Congo (the Democratic Republic of the)
        * `CK` - Cook Islands
        * `CR` - Costa Rica
        * `CI` - Côte d'Ivoire
        * `HR` - Croatia
        * `CU` - Cuba
        * `CW` - Curaçao
        * `CY` - Cyprus
        * `CZ` - Czechia
        * `DK` - Denmark
        * `DJ` - Djibouti
        * `DM` - Dominica
        * `DO` - Dominican Republic
        * `EC` - Ecuador
        * `EG` - Egypt
        * `SV` - El Salvador
        * `GQ` - Equatorial Guinea
        * `ER` - Eritrea
        * `EE` - Estonia
        * `SZ` - Eswatini
        * `ET` - Ethiopia
        * `FK` - Falkland Islands (Malvinas)
        * `FO` - Faroe Islands
        * `FJ` - Fiji
        * `FI` - Finland
        * `FR` - France
        * `GF` - French Guiana
        * `PF` - French Polynesia
        * `TF` - French Southern Territories
        * `GA` - Gabon
        * `GM` - Gambia
        * `GE` - Georgia
        * `DE` - Germany
        * `GH` - Ghana
        * `GI` - Gibraltar
        * `GR` - Greece
        * `GL` - Greenland
        * `GD` - Grenada
        * `GP` - Guadeloupe
        * `GU` - Guam
        * `GT` - Guatemala
        * `GG` - Guernsey
        * `GN` - Guinea
        * `GW` - Guinea-Bissau
        * `GY` - Guyana
        * `HT` - Haiti
        * `HM` - Heard Island and McDonald Islands
        * `VA` - Holy See
        * `HN` - Honduras
        * `HK` - Hong Kong
        * `HU` - Hungary
        * `IS` - Iceland
        * `IN` - India
        * `ID` - Indonesia
        * `IR` - Iran
        * `IQ` - Iraq
        * `IE` - Ireland
        * `IM` - Isle of Man
        * `IL` - Israel
        * `IT` - Italy
        * `JM` - Jamaica
        * `JP` - Japan
        * `JE` - Jersey
        * `JO` - Jordan
        * `KZ` - Kazakhstan
        * `KE` - Kenya
        * `KI` - Kiribati
        * `XK` - Kosovo
        * `KW` - Kuwait
        * `KG` - Kyrgyzstan
        * `LA` - Laos
        * `LV` - Latvia
        * `LB` - Lebanon
        * `LS` - Lesotho
        * `LR` - Liberia
        * `LY` - Libya
        * `LI` - Liechtenstein
        * `LT` - Lithuania
        * `LU` - Luxembourg
        * `MO` - Macao
        * `MG` - Madagascar
        * `MW` - Malawi
        * `MY` - Malaysia
        * `MV` - Maldives
        * `ML` - Mali
        * `MT` - Malta
        * `MH` - Marshall Islands
        * `MQ` - Martinique
        * `MR` - Mauritania
        * `MU` - Mauritius
        * `YT` - Mayotte
        * `MX` - Mexico
        * `FM` - Micronesia
        * `MD` - Moldova
        * `MC` - Monaco
        * `MN` - Mongolia
        * `ME` - Montenegro
        * `MS` - Montserrat
        * `MA` - Morocco
        * `MZ` - Mozambique
        * `MM` - Myanmar
        * `NA` - Namibia
        * `NR` - Nauru
        * `NP` - Nepal
        * `NL` - Netherlands
        * `NC` - New Caledonia
        * `NZ` - New Zealand
        * `NI` - Nicaragua
        * `NE` - Niger
        * `NG` - Nigeria
        * `NU` - Niue
        * `NF` - Norfolk Island
        * `KP` - North Korea
        * `MK` - North Macedonia
        * `MP` - Northern Mariana Islands
        * `NO` - Norway
        * `OM` - Oman
        * `PK` - Pakistan
        * `PW` - Palau
        * `PS` - Palestine, State of
        * `PA` - Panama
        * `PG` - Papua New Guinea
        * `PY` - Paraguay
        * `PE` - Peru
        * `PH` - Philippines
        * `PN` - Pitcairn
        * `PL` - Poland
        * `PT` - Portugal
        * `PR` - Puerto Rico
        * `QA` - Qatar
        * `RE` - Réunion
        * `RO` - Romania
        * `RU` - Russia
        * `RW` - Rwanda
        * `BL` - Saint Barthélemy
        * `SH` - Saint Helena, Ascension and Tristan da Cunha
        * `KN` - Saint Kitts and Nevis
        * `LC` - Saint Lucia
        * `MF` - Saint Martin (French part)
        * `PM` - Saint Pierre and Miquelon
        * `VC` - Saint Vincent and the Grenadines
        * `WS` - Samoa
        * `SM` - San Marino
        * `ST` - Sao Tome and Principe
        * `SA` - Saudi Arabia
        * `SN` - Senegal
        * `RS` - Serbia
        * `SC` - Seychelles
        * `SL` - Sierra Leone
        * `SG` - Singapore
        * `SX` - Sint Maarten (Dutch part)
        * `SK` - Slovakia
        * `SI` - Slovenia
        * `SB` - Solomon Islands
        * `SO` - Somalia
        * `ZA` - South Africa
        * `GS` - South Georgia and the South Sandwich Islands
        * `KR` - South Korea
        * `SS` - South Sudan
        * `ES` - Spain
        * `LK` - Sri Lanka
        * `SD` - Sudan
        * `SR` - Suriname
        * `SJ` - Svalbard and Jan Mayen
        * `SE` - Sweden
        * `CH` - Switzerland
        * `SY` - Syria
        * `TW` - Taiwan
        * `TJ` - Tajikistan
        * `TZ` - Tanzania
        * `TH` - Thailand
        * `TL` - Timor-Leste
        * `TG` - Togo
        * `TK` - Tokelau
        * `TO` - Tonga
        * `TT` - Trinidad and Tobago
        * `TN` - Tunisia
        * `TR` - Türkiye
        * `TM` - Turkmenistan
        * `TC` - Turks and Caicos Islands
        * `TV` - Tuvalu
        * `UG` - Uganda
        * `UA` - Ukraine
        * `AE` - United Arab Emirates
        * `GB` - United Kingdom
        * `UM` - United States Minor Outlying Islands
        * `US` - United States of America
        * `UY` - Uruguay
        * `UZ` - Uzbekistan
        * `VU` - Vanuatu
        * `VE` - Venezuela
        * `VN` - Vietnam
        * `VG` - Virgin Islands (British)
        * `VI` - Virgin Islands (U.S.)
        * `WF` - Wallis and Futuna
        * `EH` - Western Sahara
        * `YE` - Yemen
        * `ZM` - Zambia
        * `ZW` - Zimbabwe
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BQ
        - BA
        - BW
        - BV
        - BR
        - IO
        - BN
        - BG
        - BF
        - BI
        - CV
        - KH
        - CM
        - CA
        - KY
        - CF
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CG
        - CD
        - CK
        - CR
        - CI
        - HR
        - CU
        - CW
        - CY
        - CZ
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - SZ
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - VA
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - XK
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - KP
        - MK
        - MP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SX
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - KR
        - SS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - UM
        - US
        - UY
        - UZ
        - VU
        - VE
        - VN
        - VG
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
      type: string
    ActingAsEnum:
      description: |-
        * `consumer` - consumer
        * `business` - business
      enum:
        - consumer
        - business
      type: string
    LegacyEventRead:
      description: Stored events may likewise use retired or internal type values.
      properties:
        description:
          description: Optional description of the event.
          nullable: true
          readOnly: true
          type: string
        location:
          description: Optional location associated with the event.
          nullable: true
          readOnly: true
          type: string
        occurence:
          description: >-
            Time at which the event occurred; the historical field spelling is
            intentional.
          format: date-time
          readOnly: true
          type: string
        title:
          description: Human-readable title of the event.
          readOnly: true
          type: string
        type:
          description: >-
            Stored event type; historical values may be outside today's input
            enum.
          readOnly: true
          type: string
        your_reference:
          description: Your optional reference for the event.
          nullable: true
          readOnly: true
          type: string
      required:
        - description
        - location
        - occurence
        - title
        - type
        - your_reference
      type: object
    LegacyMetadataRead:
      description: Stored types may predate today's resource-specific input choices.
      properties:
        type:
          description: >-
            Stored metadata type; historical values may be outside today's input
            enum.
          readOnly: true
          type: string
        value:
          description: Stored metadata value.
          readOnly: true
          type: string
      required:
        - type
        - value
      type: object
    OrganizationRead:
      properties:
        commercial_register:
          description: Register court or authority holding the registration.
          nullable: true
          readOnly: true
          type: string
        commercial_registration_number:
          description: Commercial, association, or partnership register number.
          nullable: true
          readOnly: true
          type: string
        name:
          description: Registered or trading name of the organization.
          readOnly: true
          type: string
      required:
        - commercial_register
        - commercial_registration_number
        - name
      type: object
    PersonRead:
      properties:
        birth_date:
          description: Date of birth used to identify the natural person.
          format: date
          nullable: true
          readOnly: true
          type: string
        first_name:
          description: Given name of the natural person.
          readOnly: true
          type: string
        last_name:
          description: Family name of the natural person.
          readOnly: true
          type: string
        salutation:
          allOf:
            - $ref: '#/components/schemas/SalutationEnum'
          description: >-
            Salutation of the natural person; null if no supported salutation is
            stored.
          nullable: true
          readOnly: true
      required:
        - birth_date
        - first_name
        - last_name
        - salutation
      type: object
    ReceivableClaim:
      description: >-
        A receivable claim based on an invoice, rent, or another obligation. Its
        principal amount, dates, charges, and documents belong to the claim.
      properties:
        additional_charges:
          description: >-
            Itemized incidental claims such as reminder or bank fees. API
            submissions are limited to 50 entries.
          items:
            $ref: '#/components/schemas/ClaimChargeRead'
          readOnly: true
          type: array
        additional_charges_amount:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: Sum of all itemized additional charges.
          readOnly: true
        additional_debtor_ids:
          description: >-
            Read-only additional debtor identifiers projected from the current
            order.
          items:
            format: uuid
            type: string
          readOnly: true
          type: array
        created_at:
          description: Time at which the claim was created.
          format: date-time
          readOnly: true
          type: string
        debtor_id:
          description: >-
            Read-only primary debtor identifier projected from the current
            order. Change party membership only on a draft order; debtor details
            use the debtor resource.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        delay_date:
          description: Date from which the debtor is considered in payment default.
          format: date
          nullable: true
          readOnly: true
          type: string
        dispute_reason:
          description: Debtor's stated reason for disputing the claim.
          nullable: true
          readOnly: true
          type: string
        document_date:
          description: Date of the invoice, contract, or other claim document.
          format: date
          nullable: true
          readOnly: true
          type: string
        document_reference:
          description: Invoice, contract, or other source-document number.
          nullable: true
          readOnly: true
          type: string
        documents:
          description: Documents relevant to processing the claim.
          items:
            $ref: '#/components/schemas/DocumentRead'
          readOnly: true
          type: array
        due_date:
          description: Date on which payment of the principal claim became due.
          format: date
          nullable: true
          readOnly: true
          type: string
        events:
          description: Stored contextual events associated with this resource.
          items:
            $ref: '#/components/schemas/LegacyEventRead'
          readOnly: true
          type: array
        id:
          description: Stable identifier of this claim.
          format: uuid
          readOnly: true
          type: string
        is_disputed:
          description: Whether the debtor disputes the claim.
          readOnly: true
          type: boolean
        items:
          description: >-
            Invoice or contract lines that make up the principal claim. API
            submissions are limited to 100 entries.
          items:
            $ref: '#/components/schemas/ClaimItemRead'
          readOnly: true
          type: array
        legal_basis:
          allOf:
            - $ref: '#/components/schemas/ClaimLegalBasisRead'
          description: Contract or obligation that establishes the principal claim.
          readOnly: true
        mandate_id:
          description: Read-only accepted mandate identifier, or null before acceptance.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        metadata:
          description: Stored metadata entries; duplicate types remain separate entries.
          items:
            $ref: '#/components/schemas/LegacyMetadataRead'
          readOnly: true
          type: array
        order_id:
          description: >-
            Read-only current order identifier. Internal review may change this
            relationship while the claim identifier and all claim-specific URLs
            remain stable.
          format: uuid
          readOnly: true
          type: string
        payments:
          description: >-
            Read-only payments attributed to this claim. Report subsequent
            payments through the stable claim payments URL, including after
            acceptance or an internal order move. Reporting requires
            case:payments:write.
          items:
            $ref: '#/components/schemas/PaymentRead'
          readOnly: true
          type: array
        principal_amount:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: >-
            Original principal amount including VAT, before charges and
            payments.
          nullable: true
          readOnly: true
        reminders:
          description: >-
            Payment reminders issued for this claim in chronological order. API
            submissions are limited to 50 entries.
          items:
            $ref: '#/components/schemas/ClaimReminderRead'
          readOnly: true
          type: array
        status:
          allOf:
            - $ref: '#/components/schemas/ClaimStatusEnum'
          description: >-
            Read-only effective claim lifecycle. Draft-only commands return 409
            claim_not_editable after submission and 409 order_expired once the
            draft has passed its expires_at; payment and title commands retain
            their specific lifecycle conflict codes.
          readOnly: true
        subject_matter:
          description: >-
            Goods, services, or other obligation underlying the claim. API
            submissions are limited to 2000 characters.
          nullable: true
          readOnly: true
          type: string
        total_amount:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: Current open amount after charges and reported payments.
          nullable: true
          readOnly: true
        type:
          allOf:
            - $ref: '#/components/schemas/ReceivableClaimTypeEnum'
          description: Literal receivable claim discriminator.
          readOnly: true
        updated_at:
          description: Time at which the claim was last updated.
          format: date-time
          readOnly: true
          type: string
        your_reference:
          description: Your reference for this claim.
          nullable: true
          readOnly: true
          type: string
      required:
        - additional_charges
        - additional_charges_amount
        - additional_debtor_ids
        - created_at
        - debtor_id
        - delay_date
        - dispute_reason
        - document_date
        - document_reference
        - documents
        - due_date
        - events
        - id
        - is_disputed
        - items
        - legal_basis
        - mandate_id
        - metadata
        - order_id
        - payments
        - principal_amount
        - reminders
        - status
        - subject_matter
        - total_amount
        - type
        - updated_at
        - your_reference
      title: Receivable claim
      type: object
    TitledClaim:
      description: >-
        A claim backed by an enforceable title. The title's amount, dates, and
        documents belong to `enforceable_title`.
      properties:
        additional_debtor_ids:
          description: >-
            Read-only additional debtor identifiers projected from the current
            order.
          items:
            format: uuid
            type: string
          readOnly: true
          type: array
        created_at:
          description: Time at which the claim was created.
          format: date-time
          readOnly: true
          type: string
        debtor_id:
          description: >-
            Read-only primary debtor identifier projected from the current
            order. Change party membership only on a draft order; debtor details
            use the debtor resource.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        dispute_reason:
          description: Debtor's stated reason for disputing the claim.
          nullable: true
          readOnly: true
          type: string
        document_reference:
          description: Invoice, contract, or other source-document number.
          nullable: true
          readOnly: true
          type: string
        enforceable_title:
          allOf:
            - $ref: '#/components/schemas/EnforceableTitleRead'
          description: >-
            Enforceable title that owns this claim's gross amount, legal
            metadata, and title documents.
          nullable: true
          readOnly: true
        events:
          description: Stored contextual events associated with this resource.
          items:
            $ref: '#/components/schemas/LegacyEventRead'
          readOnly: true
          type: array
        id:
          description: Stable identifier of this claim.
          format: uuid
          readOnly: true
          type: string
        is_disputed:
          description: Whether the debtor disputes the claim.
          readOnly: true
          type: boolean
        mandate_id:
          description: Read-only accepted mandate identifier, or null before acceptance.
          format: uuid
          nullable: true
          readOnly: true
          type: string
        metadata:
          description: Stored metadata entries; duplicate types remain separate entries.
          items:
            $ref: '#/components/schemas/LegacyMetadataRead'
          readOnly: true
          type: array
        order_id:
          description: >-
            Read-only current order identifier. Internal review may change this
            relationship while the claim identifier and all claim-specific URLs
            remain stable.
          format: uuid
          readOnly: true
          type: string
        payments:
          description: >-
            Read-only payments attributed to this claim. Report subsequent
            payments through the stable claim payments URL, including after
            acceptance or an internal order move. Reporting requires
            case:payments:write.
          items:
            $ref: '#/components/schemas/PaymentRead'
          readOnly: true
          type: array
        principal_amount:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: >-
            Always null for a titled claim; use enforceable_title.amount for the
            authoritative gross amount.
          nullable: true
          readOnly: true
        status:
          allOf:
            - $ref: '#/components/schemas/ClaimStatusEnum'
          description: >-
            Read-only effective claim lifecycle. Draft-only commands return 409
            claim_not_editable after submission and 409 order_expired once the
            draft has passed its expires_at; payment and title commands retain
            their specific lifecycle conflict codes.
          readOnly: true
        subject_matter:
          description: >-
            Goods, services, or other obligation underlying the claim. API
            submissions are limited to 2000 characters.
          nullable: true
          readOnly: true
          type: string
        total_amount:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: >-
            Authoritative gross enforceable-title amount; reported payments are
            exposed separately and do not reduce it.
          nullable: true
          readOnly: true
        type:
          allOf:
            - $ref: '#/components/schemas/TitledClaimTypeEnum'
          description: Literal titled claim discriminator.
          readOnly: true
        updated_at:
          description: Time at which the claim was last updated.
          format: date-time
          readOnly: true
          type: string
        your_reference:
          description: Your reference for this claim.
          nullable: true
          readOnly: true
          type: string
      required:
        - additional_debtor_ids
        - created_at
        - debtor_id
        - dispute_reason
        - document_reference
        - enforceable_title
        - events
        - id
        - is_disputed
        - mandate_id
        - metadata
        - order_id
        - payments
        - principal_amount
        - status
        - subject_matter
        - total_amount
        - type
        - updated_at
        - your_reference
      title: Titled claim
      type: object
    ClaimAmountRead:
      description: Read-only two-decimal EUR amount.
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          description: |-
            Currency of the amount; currently always EUR.

            * `EUR` - EUR
          readOnly: true
        value:
          description: Monetary value expressed with two decimal places.
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - value
      type: object
    DocumentRead:
      description: Resource representation with a native UUID `id`.
      properties:
        created_at:
          description: Time at which the document was submitted.
          format: date-time
          readOnly: true
          type: string
        download_url:
          description: >-
            Authenticated API URL for downloading the document; null while its
            status is not `ready`.
          format: uri
          nullable: true
          readOnly: true
          type: string
        failure_reason:
          allOf:
            - $ref: '#/components/schemas/DocumentFailureReasonEnum'
          description: >-
            Why processing failed when status is `failed`; `null` otherwise.
            `page_limit_exceeded`: PDF above the 100-page ceiling; `encrypted`:
            password-protected PDF; `corrupt`: bytes could not be parsed;
            `unsupported`: content type not accepted; `processing_failed`: any
            other processing error.
          nullable: true
          readOnly: true
        filename:
          description: Original filename shown to users.
          readOnly: true
          type: string
        id:
          description: Stable identifier for this resource.
          format: uuid
          readOnly: true
          type: string
        mime_type:
          description: Detected media type of the document.
          nullable: true
          readOnly: true
          type: string
        parent:
          allOf:
            - $ref: '#/components/schemas/DocumentParent'
          description: Resource that owns the document.
          readOnly: true
        status:
          allOf:
            - $ref: '#/components/schemas/CaseDocumentStatusEnum'
          description: >-
            Document availability: `pending` while scanning or processing is
            incomplete; `ready` when processing permits download; `failed` when
            scanning or processing failed; `rejected` when the malware check
            rejected the file.
          readOnly: true
        type:
          allOf:
            - $ref: '#/components/schemas/CaseDocumentTypeEnum'
          description: Business purpose of the document.
          readOnly: true
        updated_at:
          description: Time at which document processing last changed.
          format: date-time
          readOnly: true
          type: string
      required:
        - created_at
        - download_url
        - failure_reason
        - filename
        - id
        - mime_type
        - parent
        - status
        - type
        - updated_at
      type: object
    RentalDueRule:
      description: Both keys are required even under the singleton's partial PATCH.
      properties:
        day:
          description: >-
            Day number from 1 to 31 within the rental month: calendar day for
            calendar_day, or ordinal business day for business_day. If the month
            has fewer such days, the last applicable day is used.
          maximum: 31
          minimum: 1
          type: integer
        kind:
          $ref: '#/components/schemas/KindEnum'
          description: >-
            How to interpret day: calendar_day counts all dates; business_day
            counts Monday through Friday excluding German federal public
            holidays. State-specific holidays are not considered.
      required:
        - day
        - kind
      type: object
    RentalPropertyAddressRead:
      properties:
        city:
          description: City of the rented property.
          readOnly: true
          type: string
        country:
          description: ISO 3166-1 alpha-2 country code of the rented property.
          readOnly: true
          type: string
        postal_code:
          description: Postal code of the rented property.
          readOnly: true
          type: string
        street:
          description: Street and house number of the rented property.
          readOnly: true
          type: string
      required:
        - city
        - country
        - postal_code
        - street
      type: object
    ClaimAmountWriteRequest:
      description: A non-negative EUR claim or charge amount.
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          default: EUR
          description: |-
            Currency of the amount; currently always EUR.

            * `EUR` - EUR
        value:
          description: >-
            Non-negative monetary value in major currency units, with at most
            two decimal places; for EUR, 100.00 means 100 euros.
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
          type: string
      required:
        - value
      type: object
    AdditionalChargeEventWriteRequest:
      description: >-
        A contextual event supplied when creating a debtor, claim, or additional
        charge.
      properties:
        description:
          description: Optional description of the event.
          maxLength: 255
          nullable: true
          type: string
        location:
          description: Optional location associated with the event.
          maxLength: 255
          nullable: true
          type: string
        occurence:
          description: >-
            Time at which the event occurred; the historical field spelling is
            intentional.
          format: date-time
          type: string
        title:
          description: Human-readable title of the event.
          maxLength: 255
          minLength: 1
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/AdditionalChargeEventWriteTypeEnum'
          description: |-
            Additional-charge event type.

            * `invoice` - invoice
            * `transaction` - transaction
        your_reference:
          description: Your optional reference for the event.
          maxLength: 255
          nullable: true
          type: string
      required:
        - occurence
        - title
        - type
      type: object
    CaseChargeTypeEnum:
      description: |-
        * `reminder_fee` - reminder_fee
        * `bank_charge` - bank_charge
        * `research_costs` - research_costs
      enum:
        - reminder_fee
        - bank_charge
        - research_costs
      type: string
    ClaimDocumentTypeEnum:
      description: |-
        * `bank_statement` - bank_statement
        * `claim_statement` - claim_statement
        * `correspondence` - correspondence
        * `invoice` - invoice
        * `other` - other
        * `payment_proof` - payment_proof
        * `reminder` - reminder
      enum:
        - bank_statement
        - claim_statement
        - correspondence
        - invoice
        - other
        - payment_proof
        - reminder
      type: string
    ClaimEventWriteTypeEnum:
      description: |-
        * `claim` - claim
        * `delivery` - delivery
      enum:
        - claim
        - delivery
      type: string
    ClaimUnitPriceWriteRequest:
      description: An EUR line-unit price; credits may be represented as negative.
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          default: EUR
          description: |-
            Currency of the amount; currently always EUR.

            * `EUR` - EUR
        value:
          description: Price for one unit; a negative value represents a credit.
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
          type: string
      required:
        - value
      type: object
    ClaimMetadataWriteTypeEnum:
      description: >-
        * `comment` - comment

        * `invoice:reference` - invoice:reference

        * `invoice:date` - invoice:date

        * `invoice:address_line_1` - invoice:address_line_1

        * `invoice:address_line_2` - invoice:address_line_2

        * `invoice:address_city` - invoice:address_city

        * `invoice:address_country` - invoice:address_country

        * `invoice:address_zip` - invoice:address_zip

        * `invoice:amount` - invoice:amount

        * `transaction:reference` - transaction:reference

        * `transaction:source_ip_address` - transaction:source_ip_address

        * `contract:reference` - contract:reference

        * `report:reference` - report:reference

        * `account:reference` - account:reference

        * `claim:holder:address:country` - claim:holder:address:country

        * `claim:holder:address:city` - claim:holder:address:city

        * `claim:holder:name` - claim:holder:name

        * `dunning:level` - dunning:level

        * `reminder:date` - reminder:date

        * `reminder:amount:value` - reminder:amount:value

        * `reminder:amount:currency` - reminder:amount:currency

        * `notification:date` - notification:date

        * `confirmation:email` - confirmation:email

        * `order:rate` - order:rate

        * `order:deposit` - order:deposit

        * `order:cashback` - order:cashback

        * `order:prepaid` - order:prepaid

        * `order:type` - order:type

        * `rental:pickup:date` - rental:pickup:date

        * `rental:pickup:time` - rental:pickup:time

        * `rental:pickup:city` - rental:pickup:city

        * `rental:dropoff:date` - rental:dropoff:date

        * `rental:dropoff:time` - rental:dropoff:time

        * `rental:dropoff:city` - rental:dropoff:city

        * `rental:gps_tracking` - rental:gps_tracking

        * `rental:charged_items` - rental:charged_items

        * `payment:method` - payment:method

        * `import:csv:filename` - import:csv:filename

        * `insurance:bonus_malus_system` - insurance:bonus_malus_system

        * `insurance:contribution_rate` - insurance:contribution_rate

        * `insurance:regional_class_liability_insurance` -
        insurance:regional_class_liability_insurance

        * `insurance:regional_class_partial_coverage` -
        insurance:regional_class_partial_coverage

        * `payment:frequency` - payment:frequency

        * `language` - language

        * `tax:id` - tax:id

        * `notification_delivery:date` - notification_delivery:date

        * `merchant:address_line1` - merchant:address_line1

        * `merchant:address_city` - merchant:address_city

        * `merchant:address_zip` - merchant:address_zip

        * `merchant:address_country` - merchant:address_country

        * `merchant:company_name` - merchant:company_name

        * `merchant:company_type` - merchant:company_type

        * `merchant:representative_firstname` -
        merchant:representative_firstname

        * `merchant:representative_secondname` -
        merchant:representative_secondname

        * `merchant:website_url` - merchant:website_url

        * `chargeback:reason` - chargeback:reason

        * `shop:website_url` - shop:website_url

        * `subscription:overdue_period` - subscription:overdue_period

        * `subscription:duration` - subscription:duration

        * `subscription:start` - subscription:start

        * `subscription:delivery:address` - subscription:delivery:address

        * `subscription:reference` - subscription:reference

        * `subscription:renewal` - subscription:renewal

        * `subscription:last_login` - subscription:last_login

        * `subscription:photo_available` - subscription:photo_available

        * `subscription:type` - subscription:type

        * `subscription:termination` - subscription:termination

        * `medical:patient` - medical:patient

        * `debtor:file_id` - debtor:file_id

        * `email:seller` - email:seller

        * `name:seller` - name:seller

        * `addressline:seller` - addressline:seller

        * `zip:seller` - zip:seller

        * `city:seller` - city:seller

        * `name:ditsributor` - name:ditsributor

        * `email:distributor` - email:distributor

        * `addressline:distributor` - addressline:distributor

        * `zip:distributor` - zip:distributor

        * `city:distributor` - city:distributor

        * `logo:distributor_pdf` - logo:distributor_pdf

        * `logo:distributor_email` - logo:distributor_email

        * `account:beneficiary` - account:beneficiary

        * `purchase:price` - purchase:price

        * `conditional:purchase_price` - conditional:purchase_price

        * `direct:payments` - direct:payments

        * `VAT` - VAT

        * `product:type` - product:type
      enum:
        - comment
        - invoice:reference
        - invoice:date
        - invoice:address_line_1
        - invoice:address_line_2
        - invoice:address_city
        - invoice:address_country
        - invoice:address_zip
        - invoice:amount
        - transaction:reference
        - transaction:source_ip_address
        - contract:reference
        - report:reference
        - account:reference
        - claim:holder:address:country
        - claim:holder:address:city
        - claim:holder:name
        - dunning:level
        - reminder:date
        - reminder:amount:value
        - reminder:amount:currency
        - notification:date
        - confirmation:email
        - order:rate
        - order:deposit
        - order:cashback
        - order:prepaid
        - order:type
        - rental:pickup:date
        - rental:pickup:time
        - rental:pickup:city
        - rental:dropoff:date
        - rental:dropoff:time
        - rental:dropoff:city
        - rental:gps_tracking
        - rental:charged_items
        - payment:method
        - import:csv:filename
        - insurance:bonus_malus_system
        - insurance:contribution_rate
        - insurance:regional_class_liability_insurance
        - insurance:regional_class_partial_coverage
        - payment:frequency
        - language
        - tax:id
        - notification_delivery:date
        - merchant:address_line1
        - merchant:address_city
        - merchant:address_zip
        - merchant:address_country
        - merchant:company_name
        - merchant:company_type
        - merchant:representative_firstname
        - merchant:representative_secondname
        - merchant:website_url
        - chargeback:reason
        - shop:website_url
        - subscription:overdue_period
        - subscription:duration
        - subscription:start
        - subscription:delivery:address
        - subscription:reference
        - subscription:renewal
        - subscription:last_login
        - subscription:photo_available
        - subscription:type
        - subscription:termination
        - medical:patient
        - debtor:file_id
        - email:seller
        - name:seller
        - addressline:seller
        - zip:seller
        - city:seller
        - name:ditsributor
        - email:distributor
        - addressline:distributor
        - zip:distributor
        - city:distributor
        - logo:distributor_pdf
        - logo:distributor_email
        - account:beneficiary
        - purchase:price
        - conditional:purchase_price
        - direct:payments
        - VAT
        - product:type
      type: string
    PaymentAmountWriteRequest:
      description: |-
        Base for every nested EUR amount object; subclasses override `value`
        through :func:`amount_value_field` to set their own digit/floor limits.
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          default: EUR
          description: |-
            Currency of the payment; currently always EUR.

            * `EUR` - EUR
        value:
          description: >-
            Amount received in major currency units, with at most two decimal
            places; must be at least 0.01.
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
          type: string
      required:
        - value
      type: object
    PaymentMetadataWriteRequest:
      description: One creation-time metadata row; duplicate types are intentional.
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/PaymentMetadataWriteTypeEnum'
          description: |-
            Payment metadata type.

            * `comment` - comment
            * `invoice:reference` - invoice:reference
            * `invoice:update_and_capture` - invoice:update_and_capture
            * `transaction:reference` - transaction:reference
            * `contract:reference` - contract:reference
            * `report:reference` - report:reference
            * `contravention:reference` - contravention:reference
        value:
          description: Metadata value; duplicate types remain separate entries.
          maxLength: 255
          minLength: 1
          type: string
      required:
        - type
        - value
      type: object
    TitleAmountWriteRequest:
      description: The gross enforceable amount; validated as a whole even on PATCH.
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          default: EUR
          description: Currency of the title amount; only EUR is supported.
        value:
          description: >-
            Gross title amount in major currency units, with at most two decimal
            places. Zero is accepted while drafting; the amount must be positive
            before finalization.
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
          type: string
      required:
        - value
      type: object
    InlineEnforceableTitleDocumentCreateRequest:
      additionalProperties: false
      description: Document embedded inline in a claim, message, or answer payload.
      properties:
        base64:
          description: >-
            Required base64-encoded PDF, JPEG, or PNG content. Maximum decoded
            file size: 10 MiB (10,485,760 bytes); maximum PDF length: 100 pages.
            Across the entire command, at most 20 documents and 50 MiB of
            decoded content are allowed, including documents nested under other
            parents. Exceeding a limit returns 400; too many PDF pages uses
            page_limit_exceeded.
          maxLength: 15029589
          minLength: 1
          type: string
        filename:
          description: >-
            Original filename shown to users. Path components and control
            characters are removed and the extension always follows the detected
            content type.
          maxLength: 255
          minLength: 1
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/EnforceableTitleDocumentTypeEnum'
          description: >-
            Title document purpose: enforceable_title is the single primary
            title document, required before finalization; other supplies a
            supporting document and may be used multiple times.
      required:
        - base64
        - type
      type: object
    TitleTypeEnum:
      description: |-
        * `enforcement_order` - enforcement_order
        * `default_judgment` - default_judgment
        * `final_judgment` - final_judgment
        * `acknowledgment_judgment` - acknowledgment_judgment
        * `reservation_judgment` - reservation_judgment
        * `court_settlement` - court_settlement
        * `enforceable_notarial_deed` - enforceable_notarial_deed
        * `cost_assessment_order` - cost_assessment_order
        * `other` - other
      enum:
        - enforcement_order
        - default_judgment
        - final_judgment
        - acknowledgment_judgment
        - reservation_judgment
        - court_settlement
        - enforceable_notarial_deed
        - cost_assessment_order
        - other
      type: string
    SalutationEnum:
      enum:
        - mr
        - ms
        - mx
      type: string
    ClaimChargeRead:
      description: Read representation of one canonical additional charge.
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: Amount of the additional charge.
          readOnly: true
        events:
          description: Stored contextual events associated with this resource.
          items:
            $ref: '#/components/schemas/LegacyEventRead'
          readOnly: true
          type: array
        id:
          description: Stable identifier of this additional charge.
          format: uuid
          readOnly: true
          type: string
        metadata:
          description: Stored metadata entries; duplicate types remain separate entries.
          items:
            $ref: '#/components/schemas/LegacyMetadataRead'
          readOnly: true
          type: array
        occurrence_date:
          description: Date on which the additional charge arose.
          format: date
          nullable: true
          readOnly: true
          type: string
        subject_matter:
          description: Reason or subject of the additional charge.
          nullable: true
          readOnly: true
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/CaseChargeTypeEnum'
          description: |-
            Business category of the additional charge.

            * `reminder_fee` - reminder_fee
            * `bank_charge` - bank_charge
            * `research_costs` - research_costs
          readOnly: true
        your_reference:
          description: Your reference for this additional charge.
          nullable: true
          readOnly: true
          type: string
      required:
        - amount
        - events
        - id
        - metadata
        - occurrence_date
        - subject_matter
        - type
        - your_reference
      type: object
    ClaimItemRead:
      description: Read representation of one invoice line.
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: 'Calculated line total: quantity multiplied by unit price.'
          readOnly: true
        description:
          description: Goods or service represented by this invoice or contract line.
          readOnly: true
          type: string
        quantity:
          description: Number of units represented by this line.
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,6})?$
          readOnly: true
          type: string
        unit:
          description: Unit of measure for the quantity, when applicable.
          nullable: true
          readOnly: true
          type: string
        unit_price:
          allOf:
            - $ref: '#/components/schemas/ClaimAmountRead'
          description: Price of one unit before multiplying by quantity.
          readOnly: true
      required:
        - amount
        - description
        - quantity
        - unit
        - unit_price
      type: object
    ClaimLegalBasisRead:
      description: Read representation of the singular legal basis.
      properties:
        claim_type_code:
          description: >-
            Code identifying the contract or transaction underlying the claim.
            H17 is commercial rent, H19 is residential rent, and K014 identifies
            receivable enforcement costs in titled orders. See [legal basis
            codes](https://docs.paywise.de/api-docs/case-management-api/concepts/claims#legal-basis-codes)
            for the full code-to-meaning table.
          nullable: true
          readOnly: true
          type: string
        contract_date:
          description: Date on which the underlying contract or obligation arose.
          format: date
          nullable: true
          readOnly: true
          type: string
        description:
          description: >-
            Terms or circumstances establishing the principal claim. API
            submissions are limited to 2000 characters.
          nullable: true
          readOnly: true
          type: string
      required:
        - claim_type_code
        - contract_date
        - description
      type: object
    PaymentRead:
      description: Read representation of one reported payment.
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/PaymentAmountRead'
          description: Amount received.
          nullable: true
          readOnly: true
        claim:
          allOf:
            - $ref: '#/components/schemas/PaymentClaimReference'
          description: Claim to which the payment was reported.
          nullable: true
          readOnly: true
        created_at:
          description: Time at which the payment was reported.
          format: date-time
          readOnly: true
          type: string
        id:
          description: Stable identifier of this reported payment.
          format: uuid
          readOnly: true
          type: string
        mandate:
          allOf:
            - $ref: '#/components/schemas/PaymentMandateReference'
          description: Accepted case containing the claim.
          nullable: true
          readOnly: true
        metadata:
          description: Stored metadata entries; duplicate types remain separate entries.
          items:
            $ref: '#/components/schemas/LegacyMetadataRead'
          readOnly: true
          type: array
        updated_at:
          description: Time at which the payment record was last updated.
          format: date-time
          readOnly: true
          type: string
        value_date:
          description: Date on which the payment was credited.
          format: date
          readOnly: true
          type: string
        your_reference:
          description: Your reference for reconciling this payment.
          nullable: true
          readOnly: true
          type: string
      required:
        - amount
        - claim
        - created_at
        - id
        - mandate
        - metadata
        - updated_at
        - value_date
        - your_reference
      type: object
    ClaimReminderRead:
      description: Read representation of one normalized reminder.
      properties:
        date:
          description: Date on which the payment reminder was issued.
          format: date
          nullable: true
          readOnly: true
          type: string
        due_date:
          description: Payment deadline stated in the reminder, when present.
          format: date
          nullable: true
          readOnly: true
          type: string
        id:
          description: Stable identifier of this reminder.
          format: uuid
          nullable: true
          readOnly: true
          type: string
      required:
        - date
        - due_date
        - id
      type: object
    ClaimStatusEnum:
      description: |-
        * `draft` - draft
        * `submitted` - submitted
        * `awaiting_client_response` - awaiting_client_response
        * `accepted` - accepted
        * `rejected` - rejected
        * `withdrawn` - withdrawn
      enum:
        - draft
        - submitted
        - awaiting_client_response
        - accepted
        - rejected
        - withdrawn
      type: string
    EnforceableTitleRead:
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/TitleAmountWrite'
          description: >-
            Gross amount confirmed by the client and owned by the enforceable
            title.
          nullable: true
          readOnly: true
        created_at:
          description: Time at which the enforceable title was created.
          format: date-time
          readOnly: true
          type: string
        documents:
          description: >-
            Documents owned by the title; one primary enforceable-title document
            is required before finalization.
          items:
            $ref: '#/components/schemas/DocumentRead'
          readOnly: true
          type: array
        file_number:
          description: Official file or reference number shown on the title.
          readOnly: true
          type: string
        id:
          description: Stable identifier of the enforceable title.
          format: uuid
          readOnly: true
          type: string
        issued_on:
          description: Date on which the enforceable title was issued.
          format: date
          nullable: true
          readOnly: true
          type: string
        issuing_authority:
          description: Court, notary, or other authority that issued the title.
          readOnly: true
          type: string
        legally_binding_since:
          description: >-
            Optional date from which the title is legally binding; it cannot
            precede issued_on.
          format: date
          nullable: true
          readOnly: true
          type: string
        served_on:
          description: >-
            Optional date on which the title was served; it cannot precede
            issued_on.
          format: date
          nullable: true
          readOnly: true
          type: string
        title_type:
          allOf:
            - $ref: '#/components/schemas/TitleTypeEnum'
          description: >-
            Legal title category: enforcement_order = Vollstreckungsbescheid;
            default_judgment = Versäumnisurteil; final_judgment = Endurteil;
            acknowledgment_judgment = Anerkenntnisurteil; reservation_judgment =
            Vorbehaltsurteil; court_settlement = Gerichtlicher Vergleich;
            enforceable_notarial_deed = Vollstreckbare notarielle Urkunde;
            cost_assessment_order = Kostenfestsetzungsbeschluss; other =
            Sonstiger Titel.
          nullable: true
          readOnly: true
        updated_at:
          description: Time at which the enforceable title last changed.
          format: date-time
          readOnly: true
          type: string
      required:
        - amount
        - created_at
        - documents
        - file_number
        - id
        - issued_on
        - issuing_authority
        - legally_binding_since
        - served_on
        - title_type
        - updated_at
      type: object
    DocumentFailureReasonEnum:
      enum:
        - page_limit_exceeded
        - encrypted
        - corrupt
        - unsupported
        - processing_failed
      type: string
    DocumentParent:
      properties:
        id:
          description: Identifier of the resource that owns the document.
          format: uuid
          readOnly: true
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/DocumentParentTypeEnum'
          description: |-
            Kind of resource that owns the document.

            * `claim` - claim
            * `message` - message
            * `request_to_client_answer` - request_to_client_answer
            * `rental_agreement` - rental_agreement
            * `enforceable_title` - enforceable_title
          readOnly: true
      required:
        - id
        - type
      type: object
    CaseDocumentStatusEnum:
      enum:
        - pending
        - ready
        - failed
        - rejected
      type: string
    CaseDocumentTypeEnum:
      description: |-
        * `bank_statement` - bank_statement
        * `claim_statement` - claim_statement
        * `correspondence` - correspondence
        * `enforceable_title` - enforceable_title
        * `invoice` - invoice
        * `other` - other
        * `payment_proof` - payment_proof
        * `reminder` - reminder
        * `rental_agreement` - rental_agreement
      enum:
        - bank_statement
        - claim_statement
        - correspondence
        - enforceable_title
        - invoice
        - other
        - payment_proof
        - reminder
        - rental_agreement
      type: string
    AdditionalChargeEventWriteTypeEnum:
      description: |-
        * `invoice` - invoice
        * `transaction` - transaction
      enum:
        - invoice
        - transaction
      type: string
    PaymentMetadataWriteTypeEnum:
      description: |-
        * `comment` - comment
        * `invoice:reference` - invoice:reference
        * `invoice:update_and_capture` - invoice:update_and_capture
        * `transaction:reference` - transaction:reference
        * `contract:reference` - contract:reference
        * `report:reference` - report:reference
        * `contravention:reference` - contravention:reference
      enum:
        - comment
        - invoice:reference
        - invoice:update_and_capture
        - transaction:reference
        - contract:reference
        - report:reference
        - contravention:reference
      type: string
    EnforceableTitleDocumentTypeEnum:
      description: |-
        * `enforceable_title` - enforceable_title
        * `other` - other
      enum:
        - enforceable_title
        - other
      type: string
    PaymentAmountRead:
      properties:
        currency:
          description: Currency of the payment.
          readOnly: true
          type: string
        value:
          description: Amount received, expressed with two decimal places.
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - value
      type: object
    PaymentClaimReference:
      properties:
        document_reference:
          description: Invoice, contract, or source-document number of the claim.
          nullable: true
          readOnly: true
          type: string
        id:
          description: Identifier of the claim receiving the payment.
          format: uuid
          readOnly: true
          type: string
        your_reference:
          description: Your reference for the claim.
          nullable: true
          readOnly: true
          type: string
      required:
        - document_reference
        - id
        - your_reference
      type: object
    PaymentMandateReference:
      properties:
        id:
          description: Identifier of the accepted case receiving the payment.
          format: uuid
          readOnly: true
          type: string
        reference_number:
          description: paywise case-file reference number.
          readOnly: true
          type: string
      required:
        - id
        - reference_number
      type: object
    TitleAmountWrite:
      description: The gross enforceable amount; validated as a whole even on PATCH.
      properties:
        currency:
          allOf:
            - $ref: '#/components/schemas/CurrencyEnum'
          default: EUR
          description: Currency of the title amount; only EUR is supported.
        value:
          description: >-
            Gross title amount in major currency units, with at most two decimal
            places. Zero is accepted while drafting; the amount must be positive
            before finalization.
          format: decimal
          pattern: ^-?\d{0,14}(?:\.\d{0,2})?$
          type: string
      required:
        - value
      type: object
    DocumentParentTypeEnum:
      description: |-
        * `claim` - claim
        * `message` - message
        * `request_to_client_answer` - request_to_client_answer
        * `rental_agreement` - rental_agreement
        * `enforceable_title` - enforceable_title
      enum:
        - claim
        - message
        - request_to_client_answer
        - rental_agreement
        - enforceable_title
      type: string
  securitySchemes:
    caseBearerAuth:
      description: >-
        Company-bound Case Management API key — the standard credential for this
        API.
      scheme: bearer
      type: http
    partnerBearerAuth:
      description: >-
        Partner API key acting for one entitled company; every Case request must
        then also carry the X-On-Behalf-Of-Company header.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.