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

# List events

> Return one page of the company's event feed, oldest first.



## OpenAPI

````yaml /api-docs/case-management-api/openapi.json get /v2/events/
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/events/:
    get:
      tags:
        - Events
      summary: List events
      description: Return one page of the company's event feed, oldest first.
      operationId: list-events
      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: >-
            Return only events of these exact types. Repeat the parameter for
            several types.
          in: query
          name: event_type
          schema:
            items:
              enum:
                - dunning.handed_to_collection
                - dunning.level_advanced
                - invoice.cancelled
                - invoice.created
                - invoice.paid
                - invoice.reopened
                - invoice.written_off
                - mandate.balance_updated
                - mandate.correspondence.published
                - mandate.created
                - mandate.message.created
                - mandate.state.changed
                - mandate.status_update.published
                - order.accepted
                - order.expired
                - order.message.created
                - order.rejected
                - order.submitted
                - order.withdrawn
                - payment.reported
                - request_to_client.answered
                - request_to_client.created
                - single_mandate_statement.cancelled
                - single_mandate_statement.published
                - statement.cancelled
                - statement.published
              type: string
            type: array
        - description: Number of results to return (maximum 100).
          in: query
          name: limit
          schema:
            default: 10
            maximum: 100
            minimum: 1
            type: integer
        - description: >-
            Opaque cursor taken from the `cursor` (or `next`) field of a
            previous page. Omit it to start at the oldest retained event (30
            days). Entries become visible about 60 seconds after they are
            recorded, so a cursor never runs ahead of an event that is still
            being written.
          in: query
          name: since
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                mixed-case-events:
                  summary: Order, accepted-case, and invoice events
                  value:
                    cursor: MjAyNi0wNy0xOFQxMjowMDowMCswMDowMHwz
                    next: null
                    results:
                      - created_at: '2026-07-18T12:00:00Z'
                        data:
                          claim_ids:
                            - 30000000-0000-4000-8000-000000000001
                          company_id: 10000000-0000-4000-8000-000000000001
                          order_id: 20000000-0000-4000-8000-000000000001
                          order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
                        id: 00000000-0000-4000-8000-000000000001
                        type: order.submitted
                      - created_at: '2026-07-18T12:00:00Z'
                        data:
                          company_id: 10000000-0000-4000-8000-000000000001
                          mandate_id: 50000000-0000-4000-8000-000000000001
                          mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
                        id: 00000000-0000-4000-8000-000000000006
                        type: mandate.created
                      - created_at: '2026-07-18T12:00:00Z'
                        data:
                          company_id: 10000000-0000-4000-8000-000000000001
                          invoice_id: b0000000-0000-4000-8000-000000000001
                          invoice_url: >-
                            /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
                        id: 00000000-0000-4000-8000-000000000020
                        type: invoice.created
              schema:
                $ref: '#/components/schemas/PaginatedEventFeed'
          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: ''
          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
        '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:
    PaginatedEventFeed:
      description: One page of the event feed. There is no total count.
      properties:
        cursor:
          description: >-
            Opaque position after the last event on this page; pass it as
            `since` on the next poll. Present on every page: it equals `next`
            while more events are waiting, stays set on the last page, repeats
            `since` when the page is empty, and is null only for an empty page
            requested without `since`.
          nullable: true
          type: string
        next:
          description: >-
            Opaque cursor of the last event on this page; pass it as `since` to
            continue. Null when the feed has no further event yet.
          nullable: true
          type: string
        results:
          description: >-
            Events in feed order, oldest first. Each entry is the envelope
            delivered for the same event ID. Only events retained for the last
            30 days and permitted by the credential’s resource read scopes are
            included; new events become visible after about 60 seconds.
          items:
            $ref: '#/components/schemas/CaseWebhookEvent'
          type: array
      required:
        - cursor
        - next
        - results
      type: object
    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
    CaseWebhookEvent:
      description: >-
        Body of every Case event, as delivered to a webhook endpoint and as
        listed by `GET /v2/events/`. Dispatch on `type`: each event type maps to
        exactly one family whose `data` keys are required or conditional as
        documented by that family.
      discriminator:
        mapping:
          dunning.handed_to_collection: '#/components/schemas/DunningHandedToCollectionWebhookEvent'
          dunning.level_advanced: '#/components/schemas/DunningLevelAdvancedWebhookEvent'
          invoice.cancelled: '#/components/schemas/InvoiceCancelledWebhookEvent'
          invoice.created: '#/components/schemas/InvoiceCreatedWebhookEvent'
          invoice.paid: '#/components/schemas/InvoicePaidWebhookEvent'
          invoice.reopened: '#/components/schemas/InvoiceReopenedWebhookEvent'
          invoice.written_off: '#/components/schemas/InvoiceWrittenOffWebhookEvent'
          mandate.balance_updated: '#/components/schemas/MandateBalanceUpdatedWebhookEvent'
          mandate.correspondence.published: '#/components/schemas/MandateCorrespondenceWebhookEvent'
          mandate.created: '#/components/schemas/MandateCreatedWebhookEvent'
          mandate.message.created: '#/components/schemas/MandateMessageWebhookEvent'
          mandate.state.changed: '#/components/schemas/MandateStateChangedWebhookEvent'
          mandate.status_update.published: '#/components/schemas/MandateStatusUpdateWebhookEvent'
          order.accepted: '#/components/schemas/OrderAcceptedWebhookEvent'
          order.expired: '#/components/schemas/OrderExpiredWebhookEvent'
          order.message.created: '#/components/schemas/OrderMessageWebhookEvent'
          order.rejected: '#/components/schemas/OrderRejectedWebhookEvent'
          order.submitted: '#/components/schemas/OrderSubmittedWebhookEvent'
          order.withdrawn: '#/components/schemas/OrderWithdrawnWebhookEvent'
          payment.reported: '#/components/schemas/PaymentWebhookEvent'
          request_to_client.answered: '#/components/schemas/RequestToClientAnsweredWebhookEvent'
          request_to_client.created: '#/components/schemas/RequestToClientCreatedWebhookEvent'
          single_mandate_statement.cancelled: '#/components/schemas/SingleMandateStatementCancelledWebhookEvent'
          single_mandate_statement.published: '#/components/schemas/SingleMandateStatementPublishedWebhookEvent'
          statement.cancelled: '#/components/schemas/StatementCancelledWebhookEvent'
          statement.published: '#/components/schemas/StatementPublishedWebhookEvent'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/OrderSubmittedWebhookEvent'
        - $ref: '#/components/schemas/OrderWithdrawnWebhookEvent'
        - $ref: '#/components/schemas/OrderRejectedWebhookEvent'
        - $ref: '#/components/schemas/OrderAcceptedWebhookEvent'
        - $ref: '#/components/schemas/OrderExpiredWebhookEvent'
        - $ref: '#/components/schemas/MandateCreatedWebhookEvent'
        - $ref: '#/components/schemas/MandateStateChangedWebhookEvent'
        - $ref: '#/components/schemas/MandateStatusUpdateWebhookEvent'
        - $ref: '#/components/schemas/MandateBalanceUpdatedWebhookEvent'
        - $ref: '#/components/schemas/OrderMessageWebhookEvent'
        - $ref: '#/components/schemas/MandateMessageWebhookEvent'
        - $ref: '#/components/schemas/RequestToClientCreatedWebhookEvent'
        - $ref: '#/components/schemas/RequestToClientAnsweredWebhookEvent'
        - $ref: '#/components/schemas/PaymentWebhookEvent'
        - $ref: '#/components/schemas/StatementPublishedWebhookEvent'
        - $ref: '#/components/schemas/StatementCancelledWebhookEvent'
        - $ref: '#/components/schemas/SingleMandateStatementPublishedWebhookEvent'
        - $ref: '#/components/schemas/SingleMandateStatementCancelledWebhookEvent'
        - $ref: '#/components/schemas/MandateCorrespondenceWebhookEvent'
        - $ref: '#/components/schemas/InvoiceCreatedWebhookEvent'
        - $ref: '#/components/schemas/InvoicePaidWebhookEvent'
        - $ref: '#/components/schemas/InvoiceCancelledWebhookEvent'
        - $ref: '#/components/schemas/InvoiceWrittenOffWebhookEvent'
        - $ref: '#/components/schemas/InvoiceReopenedWebhookEvent'
        - $ref: '#/components/schemas/DunningLevelAdvancedWebhookEvent'
        - $ref: '#/components/schemas/DunningHandedToCollectionWebhookEvent'
      x-examples:
        - created_at: '2026-07-18T12:00:00Z'
          data:
            claim_ids:
              - 30000000-0000-4000-8000-000000000001
            company_id: 10000000-0000-4000-8000-000000000001
            order_id: 20000000-0000-4000-8000-000000000001
            order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000001
          type: order.submitted
        - created_at: '2026-07-18T12:00:00Z'
          data:
            claim_ids:
              - 30000000-0000-4000-8000-000000000001
            company_id: 10000000-0000-4000-8000-000000000001
            order_id: 20000000-0000-4000-8000-000000000001
            order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000002
          type: order.withdrawn
        - created_at: '2026-07-18T12:00:00Z'
          data:
            claim_ids:
              - 30000000-0000-4000-8000-000000000001
            company_id: 10000000-0000-4000-8000-000000000001
            order_id: 20000000-0000-4000-8000-000000000001
            order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000003
          type: order.rejected
        - created_at: '2026-07-18T12:00:00Z'
          data:
            claim_ids:
              - 30000000-0000-4000-8000-000000000001
            company_id: 10000000-0000-4000-8000-000000000001
            mandate_id: 50000000-0000-4000-8000-000000000001
            mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
            order_id: 20000000-0000-4000-8000-000000000001
            order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000004
          type: order.accepted
        - created_at: '2026-07-18T12:00:00Z'
          data:
            claim_ids:
              - 30000000-0000-4000-8000-000000000001
            company_id: 10000000-0000-4000-8000-000000000001
            order_id: 20000000-0000-4000-8000-000000000001
            order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000005
          type: order.expired
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            mandate_id: 50000000-0000-4000-8000-000000000001
            mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000006
          type: mandate.created
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            mandate_id: 50000000-0000-4000-8000-000000000001
            mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000007
          type: mandate.state.changed
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            mandate_id: 50000000-0000-4000-8000-000000000001
            mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
            status_update_id: f0000000-0000-4000-8000-000000000001
          id: 00000000-0000-4000-8000-000000000008
          type: mandate.status_update.published
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            mandate_id: 50000000-0000-4000-8000-000000000001
            mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000009
          type: mandate.balance_updated
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            message_id: 70000000-0000-4000-8000-000000000001
            order_id: 20000000-0000-4000-8000-000000000001
            order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000010
          type: order.message.created
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            mandate_id: 50000000-0000-4000-8000-000000000001
            mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
            message_id: 70000000-0000-4000-8000-000000000001
          id: 00000000-0000-4000-8000-000000000011
          type: mandate.message.created
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            mandate_id: 50000000-0000-4000-8000-000000000001
            request_to_client_id: 80000000-0000-4000-8000-000000000001
            request_to_client_url: >-
              /v2/mandates/50000000-0000-4000-8000-000000000001/requests-to-client/80000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000012
          type: request_to_client.created
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            mandate_id: 50000000-0000-4000-8000-000000000001
            request_to_client_id: 80000000-0000-4000-8000-000000000001
            request_to_client_url: >-
              /v2/mandates/50000000-0000-4000-8000-000000000001/requests-to-client/80000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000013
          type: request_to_client.answered
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            payment_id: 90000000-0000-4000-8000-000000000001
            payment_url: /v2/payments/90000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000014
          type: payment.reported
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            statement_id: a0000000-0000-4000-8000-000000000001
            statement_url: /v2/statements/a0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000015
          type: statement.published
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            statement_id: a0000000-0000-4000-8000-000000000001
            statement_url: /v2/statements/a0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000016
          type: statement.cancelled
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            single_mandate_statement_id: a0000000-0000-4000-8000-000000000002
            single_mandate_statement_url: >-
              /v2/single-mandate-statements/a0000000-0000-4000-8000-000000000002/
          id: 00000000-0000-4000-8000-000000000017
          type: single_mandate_statement.published
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            single_mandate_statement_id: a0000000-0000-4000-8000-000000000002
            single_mandate_statement_url: >-
              /v2/single-mandate-statements/a0000000-0000-4000-8000-000000000002/
          id: 00000000-0000-4000-8000-000000000018
          type: single_mandate_statement.cancelled
        - created_at: '2026-07-18T12:00:00Z'
          data:
            channel: email
            company_id: 10000000-0000-4000-8000-000000000001
            correspondence_id: f3000000-0000-4000-8000-000000000001
            correspondence_url: >-
              /v2/mandates/50000000-0000-4000-8000-000000000001/correspondence/f3000000-0000-4000-8000-000000000001/
            mandate_id: 50000000-0000-4000-8000-000000000001
            mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000019
          type: mandate.correspondence.published
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            invoice_id: b0000000-0000-4000-8000-000000000001
            invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000020
          type: invoice.created
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            invoice_id: b0000000-0000-4000-8000-000000000001
            invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000021
          type: invoice.paid
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            invoice_id: b0000000-0000-4000-8000-000000000001
            invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000022
          type: invoice.cancelled
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            invoice_id: b0000000-0000-4000-8000-000000000001
            invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000023
          type: invoice.written_off
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            invoice_id: b0000000-0000-4000-8000-000000000001
            invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000024
          type: invoice.reopened
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            invoice_id: b0000000-0000-4000-8000-000000000001
            invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000025
          type: dunning.level_advanced
        - created_at: '2026-07-18T12:00:00Z'
          data:
            company_id: 10000000-0000-4000-8000-000000000001
            invoice_id: b0000000-0000-4000-8000-000000000001
            invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
          id: 00000000-0000-4000-8000-000000000026
          type: dunning.handed_to_collection
    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
    DunningHandedToCollectionWebhookEvent:
      description: >-
        Mahnservice invoice event: the invoice was created (API or bookkeeping
        import), settled, cancelled or written off, reopened by the bookkeeping,
        or its dunning process advanced a level / was handed to debt collection.
        Fetch `invoice_url` (Mahnservice API v1) for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          invoice_id: b0000000-0000-4000-8000-000000000001
          invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000026
        type: dunning.handed_to_collection
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/InvoiceWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - dunning.handed_to_collection
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Dunning handed to collection
      type: object
    DunningLevelAdvancedWebhookEvent:
      description: >-
        Mahnservice invoice event: the invoice was created (API or bookkeeping
        import), settled, cancelled or written off, reopened by the bookkeeping,
        or its dunning process advanced a level / was handed to debt collection.
        Fetch `invoice_url` (Mahnservice API v1) for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          invoice_id: b0000000-0000-4000-8000-000000000001
          invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000025
        type: dunning.level_advanced
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/InvoiceWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - dunning.level_advanced
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Dunning level advanced
      type: object
    InvoiceCancelledWebhookEvent:
      description: >-
        Mahnservice invoice event: the invoice was created (API or bookkeeping
        import), settled, cancelled or written off, reopened by the bookkeeping,
        or its dunning process advanced a level / was handed to debt collection.
        Fetch `invoice_url` (Mahnservice API v1) for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          invoice_id: b0000000-0000-4000-8000-000000000001
          invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000022
        type: invoice.cancelled
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/InvoiceWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - invoice.cancelled
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Invoice cancelled
      type: object
    InvoiceCreatedWebhookEvent:
      description: >-
        Mahnservice invoice event: the invoice was created (API or bookkeeping
        import), settled, cancelled or written off, reopened by the bookkeeping,
        or its dunning process advanced a level / was handed to debt collection.
        Fetch `invoice_url` (Mahnservice API v1) for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          invoice_id: b0000000-0000-4000-8000-000000000001
          invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000020
        type: invoice.created
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/InvoiceWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - invoice.created
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Invoice created
      type: object
    InvoicePaidWebhookEvent:
      description: >-
        Mahnservice invoice event: the invoice was created (API or bookkeeping
        import), settled, cancelled or written off, reopened by the bookkeeping,
        or its dunning process advanced a level / was handed to debt collection.
        Fetch `invoice_url` (Mahnservice API v1) for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          invoice_id: b0000000-0000-4000-8000-000000000001
          invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000021
        type: invoice.paid
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/InvoiceWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - invoice.paid
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Invoice paid
      type: object
    InvoiceReopenedWebhookEvent:
      description: >-
        Mahnservice invoice event: the invoice was created (API or bookkeeping
        import), settled, cancelled or written off, reopened by the bookkeeping,
        or its dunning process advanced a level / was handed to debt collection.
        Fetch `invoice_url` (Mahnservice API v1) for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          invoice_id: b0000000-0000-4000-8000-000000000001
          invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000024
        type: invoice.reopened
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/InvoiceWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - invoice.reopened
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Invoice reopened
      type: object
    InvoiceWrittenOffWebhookEvent:
      description: >-
        Mahnservice invoice event: the invoice was created (API or bookkeeping
        import), settled, cancelled or written off, reopened by the bookkeeping,
        or its dunning process advanced a level / was handed to debt collection.
        Fetch `invoice_url` (Mahnservice API v1) for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          invoice_id: b0000000-0000-4000-8000-000000000001
          invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000023
        type: invoice.written_off
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/InvoiceWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - invoice.written_off
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Invoice written off
      type: object
    MandateBalanceUpdatedWebhookEvent:
      description: >-
        Accepted-case event carrying only the case reference: creation, a public
        state change, or a balance change booked by paywise. Fetch `mandate_url`
        for the current state (`legal_balance` after `mandate.balance_updated`).
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          mandate_id: 50000000-0000-4000-8000-000000000001
          mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000009
        type: mandate.balance_updated
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/MandateWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - mandate.balance_updated
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Case balance updated
      type: object
    MandateCorrespondenceWebhookEvent:
      description: >-
        A debtor correspondence item (for example an email) became readable for
        the creditor.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          channel: email
          company_id: 10000000-0000-4000-8000-000000000001
          correspondence_id: f3000000-0000-4000-8000-000000000001
          correspondence_url: >-
            /v2/mandates/50000000-0000-4000-8000-000000000001/correspondence/f3000000-0000-4000-8000-000000000001/
          mandate_id: 50000000-0000-4000-8000-000000000001
          mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000019
        type: mandate.correspondence.published
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/MandateCorrespondenceWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - mandate.correspondence.published
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Case correspondence published
      type: object
    MandateCreatedWebhookEvent:
      description: >-
        Accepted-case event carrying only the case reference: creation, a public
        state change, or a balance change booked by paywise. Fetch `mandate_url`
        for the current state (`legal_balance` after `mandate.balance_updated`).
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          mandate_id: 50000000-0000-4000-8000-000000000001
          mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000006
        type: mandate.created
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/MandateWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - mandate.created
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Case created
      type: object
    MandateMessageWebhookEvent:
      description: >-
        A client-authored message on an accepted case was received by paywise.
        This does not announce a message sent by paywise to the client.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          mandate_id: 50000000-0000-4000-8000-000000000001
          mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
          message_id: 70000000-0000-4000-8000-000000000001
        id: 00000000-0000-4000-8000-000000000011
        type: mandate.message.created
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/MandateMessageWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - mandate.message.created
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Case message event
      type: object
    MandateStateChangedWebhookEvent:
      description: >-
        Accepted-case event carrying only the case reference: creation, a public
        state change, or a balance change booked by paywise. Fetch `mandate_url`
        for the current state (`legal_balance` after `mandate.balance_updated`).
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          mandate_id: 50000000-0000-4000-8000-000000000001
          mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000007
        type: mandate.state.changed
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/MandateWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - mandate.state.changed
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Case state changed
      type: object
    MandateStatusUpdateWebhookEvent:
      description: A standalone status update was published on an accepted case.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          mandate_id: 50000000-0000-4000-8000-000000000001
          mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
          status_update_id: f0000000-0000-4000-8000-000000000001
        id: 00000000-0000-4000-8000-000000000008
        type: mandate.status_update.published
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/MandateStatusUpdateWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - mandate.status_update.published
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Case status update
      type: object
    OrderAcceptedWebhookEvent:
      description: >-
        The order was accepted and its claims were frozen into exactly one
        accepted case. Carries the order and the mandate it created or extended,
        so the case can be fetched without reading the order first.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          claim_ids:
            - 30000000-0000-4000-8000-000000000001
          company_id: 10000000-0000-4000-8000-000000000001
          mandate_id: 50000000-0000-4000-8000-000000000001
          mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
          order_id: 20000000-0000-4000-8000-000000000001
          order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000004
        type: order.accepted
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/OrderAcceptedWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - order.accepted
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Order accepted
      type: object
    OrderExpiredWebhookEvent:
      description: >-
        Order lifecycle event: the order was submitted, withdrawn, rejected, or
        expired. Fetch `order_url` for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          claim_ids:
            - 30000000-0000-4000-8000-000000000001
          company_id: 10000000-0000-4000-8000-000000000001
          order_id: 20000000-0000-4000-8000-000000000001
          order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000005
        type: order.expired
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/OrderWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - order.expired
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Order expired
      type: object
    OrderMessageWebhookEvent:
      description: >-
        A client-authored message on an order was received by paywise. This does
        not announce a message sent by paywise to the client.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          message_id: 70000000-0000-4000-8000-000000000001
          order_id: 20000000-0000-4000-8000-000000000001
          order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000010
        type: order.message.created
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/OrderMessageWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - order.message.created
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Order message event
      type: object
    OrderRejectedWebhookEvent:
      description: >-
        Order lifecycle event: the order was submitted, withdrawn, rejected, or
        expired. Fetch `order_url` for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          claim_ids:
            - 30000000-0000-4000-8000-000000000001
          company_id: 10000000-0000-4000-8000-000000000001
          order_id: 20000000-0000-4000-8000-000000000001
          order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000003
        type: order.rejected
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/OrderWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - order.rejected
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Order rejected
      type: object
    OrderSubmittedWebhookEvent:
      description: >-
        Order lifecycle event: the order was submitted, withdrawn, rejected, or
        expired. Fetch `order_url` for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          claim_ids:
            - 30000000-0000-4000-8000-000000000001
          company_id: 10000000-0000-4000-8000-000000000001
          order_id: 20000000-0000-4000-8000-000000000001
          order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000001
        type: order.submitted
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/OrderWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - order.submitted
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Order submitted
      type: object
    OrderWithdrawnWebhookEvent:
      description: >-
        Order lifecycle event: the order was submitted, withdrawn, rejected, or
        expired. Fetch `order_url` for the current state.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          claim_ids:
            - 30000000-0000-4000-8000-000000000001
          company_id: 10000000-0000-4000-8000-000000000001
          order_id: 20000000-0000-4000-8000-000000000001
          order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000002
        type: order.withdrawn
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/OrderWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - order.withdrawn
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Order withdrawn
      type: object
    PaymentWebhookEvent:
      description: A payment report was finalized by the company.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          payment_id: 90000000-0000-4000-8000-000000000001
          payment_url: /v2/payments/90000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000014
        type: payment.reported
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/PaymentWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - payment.reported
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Payment event
      type: object
    RequestToClientAnsweredWebhookEvent:
      description: >-
        A request to the client was published or answered. A request raised on
        an accepted case carries `mandate_id` and `request_to_client_url`; a
        request raised on an order carries `order_id` instead and can be read
        and answered below `/v2/orders/{order_id}/requests-to-client/{id}/`. A
        CSV-upload request carries neither parent reference.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          mandate_id: 50000000-0000-4000-8000-000000000001
          request_to_client_id: 80000000-0000-4000-8000-000000000001
          request_to_client_url: >-
            /v2/mandates/50000000-0000-4000-8000-000000000001/requests-to-client/80000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000013
        type: request_to_client.answered
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/RequestToClientWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - request_to_client.answered
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Client request answered
      type: object
    RequestToClientCreatedWebhookEvent:
      description: >-
        A request to the client was published or answered. A request raised on
        an accepted case carries `mandate_id` and `request_to_client_url`; a
        request raised on an order carries `order_id` instead and can be read
        and answered below `/v2/orders/{order_id}/requests-to-client/{id}/`. A
        CSV-upload request carries neither parent reference.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          mandate_id: 50000000-0000-4000-8000-000000000001
          request_to_client_id: 80000000-0000-4000-8000-000000000001
          request_to_client_url: >-
            /v2/mandates/50000000-0000-4000-8000-000000000001/requests-to-client/80000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000012
        type: request_to_client.created
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/RequestToClientWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - request_to_client.created
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Client request created
      type: object
    SingleMandateStatementCancelledWebhookEvent:
      description: A per-case statement was released to the company or cancelled.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          single_mandate_statement_id: a0000000-0000-4000-8000-000000000002
          single_mandate_statement_url: /v2/single-mandate-statements/a0000000-0000-4000-8000-000000000002/
        id: 00000000-0000-4000-8000-000000000018
        type: single_mandate_statement.cancelled
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/SingleMandateStatementWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - single_mandate_statement.cancelled
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Per-case statement cancelled
      type: object
    SingleMandateStatementPublishedWebhookEvent:
      description: A per-case statement was released to the company or cancelled.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          single_mandate_statement_id: a0000000-0000-4000-8000-000000000002
          single_mandate_statement_url: /v2/single-mandate-statements/a0000000-0000-4000-8000-000000000002/
        id: 00000000-0000-4000-8000-000000000017
        type: single_mandate_statement.published
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/SingleMandateStatementWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - single_mandate_statement.published
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Per-case statement published
      type: object
    StatementCancelledWebhookEvent:
      description: A statement was published or cancelled.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          statement_id: a0000000-0000-4000-8000-000000000001
          statement_url: /v2/statements/a0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000016
        type: statement.cancelled
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/StatementWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - statement.cancelled
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Statement cancelled
      type: object
    StatementPublishedWebhookEvent:
      description: A statement was published or cancelled.
      example:
        created_at: '2026-07-18T12:00:00Z'
        data:
          company_id: 10000000-0000-4000-8000-000000000001
          statement_id: a0000000-0000-4000-8000-000000000001
          statement_url: /v2/statements/a0000000-0000-4000-8000-000000000001/
        id: 00000000-0000-4000-8000-000000000015
        type: statement.published
      properties:
        created_at:
          description: Time at which the event occurred.
          format: date-time
          type: string
        data:
          $ref: '#/components/schemas/StatementWebhookEventData'
          description: Identifiers and links for the resources affected by the event.
        id:
          description: >-
            Stable identifier of this event; equals the `webhook-id` header of
            every delivery attempt.
          format: uuid
          type: string
        type:
          description: Business event that occurred.
          enum:
            - statement.published
          type: string
      required:
        - id
        - type
        - created_at
        - data
      title: Statement published
      type: object
    InvoiceWebhookEventData:
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        invoice_id: b0000000-0000-4000-8000-000000000001
        invoice_url: /mahnservice/v1/invoices/b0000000-0000-4000-8000-000000000001/
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        invoice_id:
          description: Mahnservice invoice the event refers to.
          format: uuid
          type: string
        invoice_url:
          description: API path of the invoice (`/mahnservice/v1/invoices/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - invoice_id
        - invoice_url
      type: object
    MandateWebhookEventData:
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        mandate_id: 50000000-0000-4000-8000-000000000001
        mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        mandate_id:
          description: Accepted case (mandate) the event refers to.
          format: uuid
          type: string
        mandate_url:
          description: API path of the accepted case (`/v2/mandates/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - mandate_id
        - mandate_url
      type: object
    MandateCorrespondenceWebhookEventData:
      example:
        channel: email
        company_id: 10000000-0000-4000-8000-000000000001
        correspondence_id: f3000000-0000-4000-8000-000000000001
        correspondence_url: >-
          /v2/mandates/50000000-0000-4000-8000-000000000001/correspondence/f3000000-0000-4000-8000-000000000001/
        mandate_id: 50000000-0000-4000-8000-000000000001
        mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
      properties:
        channel:
          description: Communication channel (`email`; open enumeration).
          type: string
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        correspondence_id:
          description: Correspondence item that became readable.
          format: uuid
          type: string
        correspondence_url:
          description: Relative API URL of the correspondence item.
          format: uri-reference
          type: string
        mandate_id:
          description: Accepted case (mandate) the event refers to.
          format: uuid
          type: string
        mandate_url:
          description: API path of the accepted case (`/v2/mandates/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - mandate_id
        - mandate_url
        - correspondence_id
        - correspondence_url
        - channel
      type: object
    MandateMessageWebhookEventData:
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        mandate_id: 50000000-0000-4000-8000-000000000001
        mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
        message_id: 70000000-0000-4000-8000-000000000001
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        mandate_id:
          description: Accepted case (mandate) the event refers to.
          format: uuid
          type: string
        mandate_url:
          description: API path of the accepted case (`/v2/mandates/{id}/`).
          format: uri-reference
          type: string
        message_id:
          description: Client-authored message received by paywise.
          format: uuid
          type: string
      required:
        - company_id
        - mandate_id
        - mandate_url
        - message_id
      type: object
    MandateStatusUpdateWebhookEventData:
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        mandate_id: 50000000-0000-4000-8000-000000000001
        mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
        status_update_id: f0000000-0000-4000-8000-000000000001
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        mandate_id:
          description: Accepted case (mandate) the event refers to.
          format: uuid
          type: string
        mandate_url:
          description: API path of the accepted case (`/v2/mandates/{id}/`).
          format: uri-reference
          type: string
        status_update_id:
          description: Status update that was published.
          format: uuid
          type: string
      required:
        - company_id
        - mandate_id
        - mandate_url
        - status_update_id
      type: object
    OrderAcceptedWebhookEventData:
      example:
        claim_ids:
          - 30000000-0000-4000-8000-000000000001
        company_id: 10000000-0000-4000-8000-000000000001
        mandate_id: 50000000-0000-4000-8000-000000000001
        mandate_url: /v2/mandates/50000000-0000-4000-8000-000000000001/
        order_id: 20000000-0000-4000-8000-000000000001
        order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
      properties:
        claim_ids:
          description: >-
            Complete claim UUID set at the lifecycle event, sorted by UUID.
            Always present on newly emitted events, including [] for an empty
            set. May be omitted only on retained envelopes materialized before
            this contract; omission means an unavailable historical snapshot,
            not an empty set. Stored feed and delivery payloads are never
            rewritten.
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        mandate_id:
          description: >-
            Accepted case (mandate) the order's claims now belong to; equals the
            order's `mandate` field.
          format: uuid
          type: string
        mandate_url:
          description: API path of the accepted case (`/v2/mandates/{id}/`).
          format: uri-reference
          type: string
        order_id:
          description: Order the event refers to.
          format: uuid
          type: string
        order_url:
          description: API path of the order (`/v2/orders/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - order_id
        - order_url
        - mandate_id
        - mandate_url
      type: object
    OrderWebhookEventData:
      example:
        claim_ids:
          - 30000000-0000-4000-8000-000000000001
        company_id: 10000000-0000-4000-8000-000000000001
        order_id: 20000000-0000-4000-8000-000000000001
        order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
      properties:
        claim_ids:
          description: >-
            Complete claim UUID set at the lifecycle event, sorted by UUID.
            Always present on newly emitted events, including [] for an empty
            set. May be omitted only on retained envelopes materialized before
            this contract; omission means an unavailable historical snapshot,
            not an empty set. Stored feed and delivery payloads are never
            rewritten.
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        order_id:
          description: Order the event refers to.
          format: uuid
          type: string
        order_url:
          description: API path of the order (`/v2/orders/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - order_id
        - order_url
      type: object
    OrderMessageWebhookEventData:
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        message_id: 70000000-0000-4000-8000-000000000001
        order_id: 20000000-0000-4000-8000-000000000001
        order_url: /v2/orders/20000000-0000-4000-8000-000000000001/
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        message_id:
          description: Client-authored message received by paywise.
          format: uuid
          type: string
        order_id:
          description: Order the event refers to.
          format: uuid
          type: string
        order_url:
          description: API path of the order (`/v2/orders/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - order_id
        - order_url
        - message_id
      type: object
    PaymentWebhookEventData:
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        payment_id: 90000000-0000-4000-8000-000000000001
        payment_url: /v2/payments/90000000-0000-4000-8000-000000000001/
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        payment_id:
          description: Reported payment.
          format: uuid
          type: string
        payment_url:
          description: API path of the payment (`/v2/payments/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - payment_id
        - payment_url
      type: object
    RequestToClientWebhookEventData:
      description: >-
        Request context. An accepted-case request carries `mandate_id` and
        `request_to_client_url`, an order request carries `order_id`, and a
        CSV-upload request carries neither. Parent references are never mixed.
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        mandate_id: 50000000-0000-4000-8000-000000000001
        request_to_client_id: 80000000-0000-4000-8000-000000000001
        request_to_client_url: >-
          /v2/mandates/50000000-0000-4000-8000-000000000001/requests-to-client/80000000-0000-4000-8000-000000000001/
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        mandate_id:
          description: >-
            Accepted case the request belongs to. Present for case-level
            requests only.
          format: uuid
          type: string
        order_id:
          description: Order the request belongs to. Present for order-level requests only.
          format: uuid
          type: string
        request_to_client_id:
          description: Request to the client.
          format: uuid
          type: string
        request_to_client_url:
          description: >-
            API path of the request
            (`/v2/mandates/{mandate_id}/requests-to-client/{id}/`). Present for
            case-level requests only.
          format: uri-reference
          type: string
      required:
        - company_id
        - request_to_client_id
      type: object
    SingleMandateStatementWebhookEventData:
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        single_mandate_statement_id: a0000000-0000-4000-8000-000000000002
        single_mandate_statement_url: /v2/single-mandate-statements/a0000000-0000-4000-8000-000000000002/
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        single_mandate_statement_id:
          description: Per-case statement.
          format: uuid
          type: string
        single_mandate_statement_url:
          description: >-
            API path of the per-case statement
            (`/v2/single-mandate-statements/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - single_mandate_statement_id
        - single_mandate_statement_url
      type: object
    StatementWebhookEventData:
      example:
        company_id: 10000000-0000-4000-8000-000000000001
        statement_id: a0000000-0000-4000-8000-000000000001
        statement_url: /v2/statements/a0000000-0000-4000-8000-000000000001/
      properties:
        company_id:
          description: Company whose resource triggered the event.
          format: uuid
          type: string
        statement_id:
          description: Statement.
          format: uuid
          type: string
        statement_url:
          description: API path of the statement (`/v2/statements/{id}/`).
          format: uri-reference
          type: string
      required:
        - company_id
        - statement_id
        - statement_url
      type: object
  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.