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

# Answer mandate request to client

> Published questions paywise asks the client about one case.

list/retrieve, plus `answer` to respond exactly once per request.
Tenant-scoped by the authenticated company; only published requests are
visible.



## OpenAPI

````yaml /api-docs/case-management-api/openapi.json post /v2/mandates/{mandate_id}/requests-to-client/{id}/answer/
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/mandates/{mandate_id}/requests-to-client/{id}/answer/:
    post:
      tags:
        - Mandates
      summary: Answer mandate request to client
      description: |-
        Published questions paywise asks the client about one case.

        list/retrieve, plus `answer` to respond exactly once per request.
        Tenant-scoped by the authenticated company; only published requests are
        visible.
      operationId: answer-mandate-request-to-client
      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: UUID of the client request in this request.
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
        - description: UUID of the parent accepted case in this request.
          in: path
          name: mandate_id
          required: true
          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:
              request-to-client-answer:
                value:
                  additional_comment: Please continue processing.
                  documents: []
                  text: The outstanding amount is correct.
            schema:
              $ref: '#/components/schemas/AnswerWriteRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestToClientRead'
          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/TranslationKeyError'
          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
        '404':
          content:
            application/json:
              examples:
                not-found-error:
                  value:
                    code: not_found
                    detail: The requested resource was not found.
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '409':
          content:
            application/json:
              examples:
                conflict-error:
                  value:
                    code: conflict
                    detail: The resource changed state and cannot accept this command.
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            Retry-After:
              description: Integer seconds to wait before retrying a throttled request.
              schema:
                minimum: 1
                type: integer
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Standard error response.
          headers:
            Cache-Control:
              description: >-
                Cacheability directive. Authenticated responses use `private,
                no-store`; the legal-form catalog may use `private,
                max-age=86400`.
              schema:
                type: string
            X-Paywise-Environment:
              description: Environment that produced the response.
              schema:
                enum:
                  - production
                  - sandbox
                type: string
            X-Paywise-Request-Id:
              description: >-
                Fresh server-assigned correlation id for this response.
                Caller-provided request ids are ignored.
              schema:
                format: uuid
                type: string
      security:
        - caseBearerAuth: []
        - partnerBearerAuth: []
components:
  schemas:
    AnswerWriteRequest:
      additionalProperties: false
      anyOf:
        - properties:
            text:
              description: >-
                Non-empty answer text; the question determines the accepted
                value.
              minLength: 1
              type: string
          required:
            - text
          title: Answer text
        - properties:
            documents:
              description: >-
                At least one answer document; fileupload questions permit
                documents without text.
              minItems: 1
          required:
            - documents
          title: Answer documents
      description: >-
        Answer a published request-to-client. Supply non-empty text, at least
        one document, or both. Only fileupload questions accept documents
        without text; other question types require text and may also require
        additional_comment or booking_date as described below.
      properties:
        additional_comment:
          description: >-
            Required for "no" answers when allowed_answer_types is
            yes-no-freetext-on-no or yes-with-date-no-freetext-on-no. Stored as
            plain text: markup is removed and the value must not be empty
            afterwards.
          maxLength: 5000
          nullable: true
          type: string
        booking_date:
          description: >-
            Required for "yes" only when allowed_answer_types is
            yes-with-date-no-freetext-on-no; forbidden otherwise.
          format: date
          type: string
        documents:
          description: >-
            Documents supplied with the answer. For `fileupload`, provide at
            least one document unless non-empty `text` is supplied. At most 20
            documents and 50 MiB of decoded document content per command. 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/InlineDocumentCreateRequest'
          maxItems: 20
          type: array
        text:
          description: >-
            Answer text. For choice-based requests use `yes` or `no`; `dontknow`
            is also accepted for `yes-no-dontknow`. Required for choice-based
            requests and `freetext`. For `fileupload`, provide non-empty text,
            at least one document, or both.
          maxLength: 5000
          nullable: true
          type: string
      type: object
    RequestToClientRead:
      description: Published clarification request with its optional answer.
      properties:
        allowed_answer_types:
          allOf:
            - $ref: '#/components/schemas/AllowedAnswerTypesEnum'
          description: >-
            Answer format accepted by the answer endpoint. Choice formats use
            `text: yes` or `text: no`; `yes-no-dontknow` also permits
            `dontknow`. Formats ending in `freetext-on-no` require
            `additional_comment` for `no`; `yes-with-date-no-freetext-on-no`
            requires `booking_date` for `yes`. `freetext` requires text;
            `fileupload` accepts text, documents, or both.
          readOnly: true
        answer:
          allOf:
            - $ref: '#/components/schemas/AnswerRead'
          description: Submitted answer, or null while unanswered.
          nullable: true
          readOnly: true
        answered:
          description: Whether an answer has already been submitted.
          readOnly: true
          type: boolean
        answered_at:
          description: Time at which the answer was submitted, when answered.
          format: date-time
          nullable: true
          readOnly: true
          type: string
        created_at:
          description: Time at which the request was created.
          format: date-time
          readOnly: true
          type: string
        description:
          description: Question or explanation describing what paywise needs.
          nullable: true
          readOnly: true
          type: string
        href:
          description: API URL of this client request.
          format: uri
          readOnly: true
          type: string
        id:
          description: Stable identifier of this client request.
          format: uuid
          readOnly: true
          type: string
        mandate:
          allOf:
            - $ref: '#/components/schemas/RequestToClientMandateReference'
          description: Accepted case for which paywise needs information.
          readOnly: true
        question_attachments:
          description: Files paywise attached to the question.
          items:
            properties:
              download_url:
                description: >-
                  Authenticated API URL for downloading the question attachment;
                  null when no downloadable file is available.
                format: uri
                nullable: true
                type: string
              filename:
                description: Original filename of the attachment.
                nullable: true
                type: string
              id:
                description: Stable identifier of the attachment.
                format: uuid
                type: string
              mime_type:
                description: Media type of the attachment.
                nullable: true
                type: string
            type: object
          readOnly: true
          type: array
        title:
          description: Short subject of the requested information.
          readOnly: true
          type: string
        updated_at:
          description: Time at which the request was last updated.
          format: date-time
          readOnly: true
          type: string
      required:
        - allowed_answer_types
        - answer
        - answered
        - answered_at
        - created_at
        - description
        - href
        - id
        - mandate
        - question_attachments
        - title
        - updated_at
      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
    TranslationKeyError:
      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
        translation_key:
          description: Key of the localized message matching `detail`.
          type: string
      required:
        - detail
        - code
      type: object
    InlineDocumentCreateRequest:
      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/CaseDocumentTypeEnum'
          description: |-
            Business purpose of the document.

            * `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
      required:
        - base64
        - type
      type: object
    AllowedAnswerTypesEnum:
      description: |-
        * `fileupload` - fileupload
        * `freetext` - freetext
        * `yes-no` - yes-no
        * `yes-no-dontknow` - yes-no-dontknow
        * `yes-no-freetext-on-no` - yes-no-freetext-on-no
        * `yes-with-date-no-freetext-on-no` - yes-with-date-no-freetext-on-no
      enum:
        - fileupload
        - freetext
        - yes-no
        - yes-no-dontknow
        - yes-no-freetext-on-no
        - yes-with-date-no-freetext-on-no
      type: string
    AnswerRead:
      properties:
        additional_comment:
          description: Additional context supplied with the answer.
          nullable: true
          readOnly: true
          type: string
        booking_date:
          description: Relevant booking date requested by the question, when applicable.
          format: date
          nullable: true
          readOnly: true
          type: string
        created_at:
          description: Time at which the answer was submitted.
          format: date-time
          readOnly: true
          type: string
        documents:
          description: Documents supplied with the answer.
          items:
            $ref: '#/components/schemas/DocumentRead'
          readOnly: true
          type: array
        id:
          description: Stable identifier of this answer.
          format: uuid
          readOnly: true
          type: string
        text:
          description: >-
            Selected choice (`yes`, `no`, or `dontknow`) or free-text answer.
            Empty for an API answer supplied with documents only; legacy answers
            may use null.
          nullable: true
          readOnly: true
          type: string
        updated_at:
          description: Time at which the answer was last updated.
          format: date-time
          readOnly: true
          type: string
      required:
        - additional_comment
        - booking_date
        - created_at
        - documents
        - id
        - text
        - updated_at
      type: object
    RequestToClientMandateReference:
      properties:
        href:
          description: API URL of the accepted case.
          format: uri
          nullable: true
          type: string
        id:
          description: Identifier of the accepted case.
          format: uuid
          type: string
        reference_number:
          description: paywise case-file reference number.
          nullable: true
          type: string
      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
    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
    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
    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
    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.