> ## 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 claim

> Claims addressed by their stable UUID and current relationships.

Read claims throughout their lifecycle using URLs that remain valid after
internal order moves. Standalone creation requires a draft `order_id`;
the relationship is read-only thereafter. Create, PATCH, and DELETE require
a draft order and otherwise return `409 claim_not_editable`. An expired
draft instead returns `409 order_expired`. Tenant-scoped by the
authenticated company.



## OpenAPI

````yaml /api-docs/case-management-api/openapi.json post /v2/claims/
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/claims/:
    post:
      tags:
        - Claims
      summary: Create claim
      description: >-
        Claims addressed by their stable UUID and current relationships.


        Read claims throughout their lifecycle using URLs that remain valid
        after

        internal order moves. Standalone creation requires a draft `order_id`;

        the relationship is read-only thereafter. Create, PATCH, and DELETE
        require

        a draft order and otherwise return `409 claim_not_editable`. An expired

        draft instead returns `409 order_expired`. Tenant-scoped by the

        authenticated company.
      operationId: create-claim
      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:
              claim-create:
                value:
                  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
                  order_id: 20000000-0000-4000-8000-000000000001
                  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
              rental-claim-explicit-dates:
                value:
                  delay_date: '2026-03-11'
                  document_date: '2026-03-01'
                  due_date: '2026-03-10'
                  is_disputed: false
                  legal_basis:
                    claim_type_code: H17
                  order_id: 20000000-0000-4000-8000-000000000001
                  principal_amount:
                    currency: EUR
                    value: '2400.00'
                  subject_matter: Commercial rent for March 2026
                  type: receivable
                  your_reference: COMMERCIAL-RENT-2026-03
              titled-claim:
                value:
                  enforceable_title:
                    amount:
                      currency: EUR
                      value: '5000.00'
                    documents:
                      - base64: >-
                          JVBERi0xLjQKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCAyMDAgMTAwXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE4NgolJUVPRgo=
                        filename: court-settlement.pdf
                        type: enforceable_title
                    file_number: 42 O 100/26
                    issued_on: '2026-02-10'
                    issuing_authority: Landgericht Berlin
                    legally_binding_since: null
                    served_on: null
                    title_type: court_settlement
                  is_disputed: false
                  order_id: 20000000-0000-4000-8000-000000000001
                  subject_matter: Enforcement title
                  type: titled
                  your_reference: TITLE-STAGED-2026-0042
              titled-enforcement-cost:
                value:
                  document_date: '2026-02-12'
                  is_disputed: false
                  order_id: 20000000-0000-4000-8000-000000000001
                  principal_amount:
                    currency: EUR
                    value: '75.00'
                  subject_matter: Enforcement costs
                  type: receivable
                  your_reference: ENFORCEMENT-COST-1
            schema:
              $ref: '#/components/schemas/StandaloneClaimCreateRequest'
      responses:
        '201':
          content:
            application/json:
              examples:
                receivable:
                  summary: Receivable claim
                  value:
                    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
                titled:
                  summary: Titled claim
                  value:
                    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
              schema:
                $ref: '#/components/schemas/Claim'
          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.
                order-expired:
                  value:
                    code: order_expired
                    detail: The draft order has expired and can no longer be changed.
              schema:
                $ref: '#/components/schemas/Error'
          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
        '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:
    StandaloneClaimCreateRequest:
      discriminator:
        mapping:
          receivable: '#/components/schemas/StandaloneReceivableClaimCreateRequest'
          titled: '#/components/schemas/StandaloneTitledClaimCreateRequest'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/StandaloneReceivableClaimCreateRequest'
        - $ref: '#/components/schemas/StandaloneTitledClaimCreateRequest'
    Claim:
      discriminator:
        mapping:
          receivable: '#/components/schemas/ReceivableClaim'
          titled: '#/components/schemas/TitledClaim'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/ReceivableClaim'
        - $ref: '#/components/schemas/TitledClaim'
    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
    StandaloneReceivableClaimCreateRequest:
      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.
          items:
            $ref: '#/components/schemas/ClaimChargeWriteRequest'
          type: array
        delay_date:
          description: Date from which the debtor is considered in payment default.
          format: date
          nullable: true
          type: string
        dispute_reason:
          description: Debtor's stated reason for disputing the claim.
          maxLength: 2500
          nullable: true
          type: string
        document_date:
          description: Date of the invoice, contract, or other claim document.
          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 relevant to processing the claim.
          items:
            $ref: '#/components/schemas/InlineClaimDocumentCreateRequest'
          type: array
        due_date:
          description: Date on which payment of the principal claim became due.
          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: Invoice or contract lines that make up the principal claim.
          items:
            $ref: '#/components/schemas/ClaimItemWriteRequest'
          type: array
        legal_basis:
          allOf:
            - $ref: '#/components/schemas/ClaimLegalBasisWriteRequest'
          description: Contract or obligation that establishes the principal claim.
        metadata:
          description: >-
            Metadata supplied when creating the claim; duplicate types are
            allowed.
          items:
            $ref: '#/components/schemas/ClaimMetadataWriteRequest'
          type: array
        order_id:
          description: >-
            Required draft order identifier for standalone claim creation. The
            order must belong to the selected company. This relationship is
            read-only after creation; clients cannot move a claim by PATCH.
          format: uuid
          type: string
          writeOnly: true
        payments:
          description: Payments already received for this claim.
          items:
            $ref: '#/components/schemas/PaymentWriteRequest'
          type: array
        principal_amount:
          allOf:
            - $ref: '#/components/schemas/ClaimPrincipalAmountWriteRequest'
          description: >-
            Original principal amount including VAT, before charges and
            payments.
        reminders:
          description: Payment reminders issued for this claim in chronological order.
          items:
            $ref: '#/components/schemas/ClaimReminderWriteRequest'
          type: array
        subject_matter:
          description: Goods, services, or other obligation underlying the claim.
          maxLength: 2000
          nullable: true
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/ReceivableClaimTypeEnum'
          description: |-
            Claim type discriminator; always receivable for this shape.

            * `receivable` - Receivable claim
        your_reference:
          description: Your reference for this claim.
          maxLength: 255
          nullable: true
          type: string
      required:
        - is_disputed
        - order_id
        - principal_amount
        - type
      title: Receivable claim
      type: object
    StandaloneTitledClaimCreateRequest:
      description: 'Create a titled claim: the enforceable title owns amount and dates.'
      properties:
        dispute_reason:
          description: Debtor's stated reason for disputing the claim.
          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: >-
            Enforceable title that owns the amount and legal metadata of a
            titled claim.
        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
        order_id:
          description: >-
            Required draft order identifier for standalone claim creation. The
            order must belong to the selected company. This relationship is
            read-only after creation; clients cannot move a claim by PATCH.
          format: uuid
          type: string
          writeOnly: true
        payments:
          description: Payments already received for this claim.
          items:
            $ref: '#/components/schemas/PaymentWriteRequest'
          type: array
        subject_matter:
          description: Goods, services, or other obligation underlying the claim.
          maxLength: 2000
          nullable: true
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/TitledClaimTypeEnum'
          description: |-
            Claim type discriminator; always titled for this shape.

            * `titled` - Titled claim
        your_reference:
          description: Your reference for this claim.
          maxLength: 255
          nullable: true
          type: string
      required:
        - enforceable_title
        - is_disputed
        - order_id
        - type
      title: Titled claim
      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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    CurrencyEnum:
      description: '* `EUR` - EUR'
      enum:
        - EUR
      type: string
    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
    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
    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
    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
    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.