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

# Deliver a receipt to the accounting Source

> Requires payment_requests:write. Asks PayPathIQ to deliver the receipt of a confirmed Payment to the Client's accounting Source. Only the connection's declared delivery owner may post: a partner-owned connection is refused. Blockman, a Blockman transaction CSV and Xero payment write-back are disabled because no receipt-posting endpoint or import format is verified, so this operation returns receipt_delivery_route_unsupported and records nothing. Where a verified route is enabled, every attempt is recorded with a stable delivery reference; the vendor's acceptance leaves the acknowledgement pending until exact receipt lines are reconciled. A rejected attempt may be retried with the same reference. An ambiguous outcome is never retried until exact receipt evidence acknowledges the Payment. Delivery state changes are announced as receipt_delivery.created or receipt_delivery.updated in the change feed.



## OpenAPI

````yaml /generated/inbound-api-v1.openapi.json put /v1/clients/{clientCode}/payment-requests/{externalPaymentRequestId}/receipt-delivery
openapi: 3.1.0
info:
  description: >-
    Send Customers, Receivables, and Payment observations and related financial
    evidence from your source system to PayPathIQ, one record at a time or as
    bounded asynchronous batches, and read back changes. Every operation listed
    here is implemented; capabilities that are not implemented are not listed.
    Start in sandbox with a sandbox key and synthetic data. Every error type
    links to a page at https://docs.paypathiq.com/problems/{code}.
  title: PayPathIQ Inbound Receivables API
  version: 1.0.0
servers:
  - description: Sandbox
    url: https://api.sandbox.paypathiq.com
  - description: Production
    url: https://api.paypathiq.com
security:
  - BearerAuth: []
tags:
  - description: >-
      PayPathIQ-owned delivery of receipts to the accounting Source, with
      acknowledgement kept separate.
    name: Receipt delivery
  - description: People and businesses that owe one Client.
    name: Customers
  - description: Independently recoverable Receivables.
    name: Receivables
  - description: Immutable evidence of external payments, refunds, and reversals.
    name: Payment observations
  - description: >-
      Ordered Source balance snapshots for transaction and snapshot-only
      connections.
    name: Balance snapshots
  - description: >-
      Bounded asynchronous ingestion of up to 100 records with exact per-record
      outcomes.
    name: Batches
  - description: >-
      Verified complete-book declarations that flag and hold Receivables missing
      from the book.
    name: Complete books
  - description: Durable, resumable record of committed Customer and Receivable changes.
    name: Changes
  - description: >-
      Optional signed, minimal notifications that a Customer or Receivable
      changed.
    name: Webhooks
  - description: >-
      Fixed-amount hosted payment pages through the Client's own payment
      provider merchant.
    name: Payment requests
  - description: >-
      Partner-owned delivery of confirmed Payments to accounting, kept separate
      from accounting acceptance.
    name: Payment delivery
  - description: Explicit Receivable pause and closure commands.
    name: Receivable lifecycle
  - description: >-
      Explicit, revisioned instructions that let PayPathIQ begin recovery for a
      Receivable.
    name: Recovery instructions
  - description: >-
      Permissioned working collection position, holds, commitments and action
      outcomes, separate from the Source representation.
    name: Collection summaries
  - description: Whether accepted source evidence is recent enough to act on.
    name: Source freshness
  - description: This machine-readable API contract.
    name: Specification
paths:
  /v1/clients/{clientCode}/payment-requests/{externalPaymentRequestId}/receipt-delivery:
    put:
      tags:
        - Receipt delivery
      summary: Deliver a receipt to the accounting Source
      description: >-
        Requires payment_requests:write. Asks PayPathIQ to deliver the receipt
        of a confirmed Payment to the Client's accounting Source. Only the
        connection's declared delivery owner may post: a partner-owned
        connection is refused. Blockman, a Blockman transaction CSV and Xero
        payment write-back are disabled because no receipt-posting endpoint or
        import format is verified, so this operation returns
        receipt_delivery_route_unsupported and records nothing. Where a verified
        route is enabled, every attempt is recorded with a stable delivery
        reference; the vendor's acceptance leaves the acknowledgement pending
        until exact receipt lines are reconciled. A rejected attempt may be
        retried with the same reference. An ambiguous outcome is never retried
        until exact receipt evidence acknowledges the Payment. Delivery state
        changes are announced as receipt_delivery.created or
        receipt_delivery.updated in the change feed.
      operationId: putReceiptDelivery
      parameters:
        - description: >-
            Stable non-sensitive Client code authorized by the Integration
            grant.
          in: path
          name: clientCode
          required: true
          schema:
            $ref: '#/components/schemas/ExternalResourceId'
        - description: >-
            Caller-assigned, opaque identifier of this hosted payment request.
            Reusing it with the identical body is a safe retry; reusing it with
            a different body conflicts.
          in: path
          name: externalPaymentRequestId
          required: true
          schema:
            $ref: '#/components/schemas/ExternalResourceId'
      requestBody:
        description: One uncompressed resource representation, limited to 256 KiB.
        content:
          application/json:
            example: {}
            schema:
              $ref: '#/components/schemas/ReceiptDelivery'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                acknowledgement:
                  allocatedAmount:
                    amount: '300.00'
                    currency: EUR
                  matchedAmount:
                    amount: '0.00'
                    currency: EUR
                  status: pending
                  unmatchedAmount:
                    amount: '300.00'
                    currency: EUR
                capability:
                  disabledReason: no_verified_route
                  state: disabled
                  unverifiedRoutes:
                    - missingProof: >-
                        Blockman documents read endpoints only; no
                        receipt-posting endpoint is verified.
                      route: blockman_receipt_posting
                deliveryOwner: paypathiq
                externalPaymentRequestId: PAYREQ_EXAMPLE
              schema:
                $ref: '#/components/schemas/ReceiptDeliveryResponse'
          description: >-
            Current delivery state; no new attempt was needed or the attempt did
            not create the delivery.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '201':
          content:
            application/json:
              example:
                acknowledgement:
                  allocatedAmount:
                    amount: '300.00'
                    currency: EUR
                  matchedAmount:
                    amount: '0.00'
                    currency: EUR
                  status: pending
                  unmatchedAmount:
                    amount: '300.00'
                    currency: EUR
                capability:
                  disabledReason: no_verified_route
                  state: disabled
                  unverifiedRoutes:
                    - missingProof: >-
                        Blockman documents read endpoints only; no
                        receipt-posting endpoint is verified.
                      route: blockman_receipt_posting
                deliveryOwner: paypathiq
                externalPaymentRequestId: PAYREQ_EXAMPLE
              schema:
                $ref: '#/components/schemas/ReceiptDeliveryResponse'
          description: Delivery created and attempted.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
            Location:
              description: Canonical URL of the created Integration-facing resource.
              schema:
                type: string
                format: uri
        '400':
          content:
            application/problem+json:
              examples:
                malformed_json:
                  value:
                    detail: Request body is not valid JSON.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 400
                    title: Request body is not valid JSON.
                    type: https://docs.paypathiq.com/problems/malformed_json
              schema:
                $ref: '#/components/schemas/Problem'
          description: Request body is not valid JSON.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '401':
          content:
            application/problem+json:
              examples:
                invalid_api_key:
                  value:
                    detail: >-
                      API key is invalid, inactive, revoked, or for another
                      environment.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 401
                    title: >-
                      API key is invalid, inactive, revoked, or for another
                      environment.
                    type: https://docs.paypathiq.com/problems/invalid_api_key
              schema:
                $ref: '#/components/schemas/Problem'
          description: API key is invalid, inactive, revoked, or for another environment.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '403':
          content:
            application/problem+json:
              examples:
                client_scope_denied:
                  value:
                    detail: >-
                      The Client code is unknown, the grant lacks the required
                      scope, or the calling address is outside the grant's IP
                      allowlist.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 403
                    title: >-
                      The Client code is unknown, the grant lacks the required
                      scope, or the calling address is outside the grant's IP
                      allowlist.
                    type: https://docs.paypathiq.com/problems/client_scope_denied
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            The Client code is unknown, the grant lacks the required scope, or
            the calling address is outside the grant's IP allowlist.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '404':
          content:
            application/problem+json:
              examples:
                payment_request_not_found:
                  value:
                    detail: No Payment request exists at this authorized reference.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 404
                    title: No Payment request exists at this authorized reference.
                    type: >-
                      https://docs.paypathiq.com/problems/payment_request_not_found
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Payment request exists at this authorized reference.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '409':
          content:
            application/problem+json:
              examples:
                payment_not_confirmed:
                  value:
                    detail: >-
                      The Payment request has no provider-confirmed Payment to
                      deliver.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 409
                    title: >-
                      The Payment request has no provider-confirmed Payment to
                      deliver.
                    type: https://docs.paypathiq.com/problems/payment_not_confirmed
                receipt_delivery_changed:
                  value:
                    detail: >-
                      The Payment's allocations changed after the delivery
                      reference was issued.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 409
                    title: >-
                      The Payment's allocations changed after the delivery
                      reference was issued.
                    type: >-
                      https://docs.paypathiq.com/problems/receipt_delivery_changed
                receipt_delivery_outcome_ambiguous:
                  value:
                    detail: >-
                      A previous attempt has an unknown outcome; only exact
                      receipt evidence can resolve it.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 409
                    title: >-
                      A previous attempt has an unknown outcome; only exact
                      receipt evidence can resolve it.
                    type: >-
                      https://docs.paypathiq.com/problems/receipt_delivery_outcome_ambiguous
                receipt_delivery_owned_by_partner:
                  value:
                    detail: >-
                      The connection's declared receipt delivery owner is the
                      partner.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 409
                    title: >-
                      The connection's declared receipt delivery owner is the
                      partner.
                    type: >-
                      https://docs.paypathiq.com/problems/receipt_delivery_owned_by_partner
                receipt_delivery_route_unsupported:
                  value:
                    detail: No verified vendor route is enabled for this connection.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 409
                    title: No verified vendor route is enabled for this connection.
                    type: >-
                      https://docs.paypathiq.com/problems/receipt_delivery_route_unsupported
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            The Payment request has no provider-confirmed Payment to deliver.
            The Payment's allocations changed after the delivery reference was
            issued. A previous attempt has an unknown outcome; only exact
            receipt evidence can resolve it. The connection's declared receipt
            delivery owner is the partner. No verified vendor route is enabled
            for this connection.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '413':
          content:
            application/problem+json:
              examples:
                request_too_large:
                  value:
                    detail: Request body exceeds the 256 KiB resource limit.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 413
                    title: Request body exceeds the 256 KiB resource limit.
                    type: https://docs.paypathiq.com/problems/request_too_large
              schema:
                $ref: '#/components/schemas/Problem'
          description: Request body exceeds the 256 KiB resource limit.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '415':
          content:
            application/problem+json:
              examples:
                unsupported_media_type:
                  value:
                    detail: >-
                      Media type or content encoding is unsupported. Send
                      uncompressed application/json for PUT and POST, and
                      application/merge-patch+json for PATCH.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 415
                    title: >-
                      Media type or content encoding is unsupported. Send
                      uncompressed application/json for PUT and POST, and
                      application/merge-patch+json for PATCH.
                    type: https://docs.paypathiq.com/problems/unsupported_media_type
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            Media type or content encoding is unsupported. Send uncompressed
            application/json for PUT and POST, and application/merge-patch+json
            for PATCH.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '422':
          content:
            application/problem+json:
              examples:
                validation_error:
                  value:
                    detail: >-
                      Route parameters or the representation are invalid. Route
                      parameters are checked before authentication. Field errors
                      carry a code such as invalid_format, unrecognized_keys,
                      custom, sensitive_external_id, or
                      sensitive_source_reference.
                    errors:
                      - code: invalid_format
                        detail: Invalid ISO date
                        pointer: /dueDate
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 422
                    title: >-
                      Route parameters or the representation are invalid. Route
                      parameters are checked before authentication. Field errors
                      carry a code such as invalid_format, unrecognized_keys,
                      custom, sensitive_external_id, or
                      sensitive_source_reference.
                    type: https://docs.paypathiq.com/problems/validation_error
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            Route parameters or the representation are invalid. Route parameters
            are checked before authentication. Field errors carry a code such as
            invalid_format, unrecognized_keys, custom, sensitive_external_id, or
            sensitive_source_reference.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
        '429':
          content:
            application/problem+json:
              examples:
                rate_limit_exceeded:
                  value:
                    detail: >-
                      Each API key may send 60 requests per minute and run 1
                      request at a time. In sandbox, the same limits also apply
                      per Client across all of its keys. Every request,
                      including GET, counts.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 429
                    title: >-
                      Each API key may send 60 requests per minute and run 1
                      request at a time. In sandbox, the same limits also apply
                      per Client across all of its keys. Every request,
                      including GET, counts.
                    type: https://docs.paypathiq.com/problems/rate_limit_exceeded
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            Each API key may send 60 requests per minute and run 1 request at a
            time. In sandbox, the same limits also apply per Client across all
            of its keys. Every request, including GET, counts.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
            Retry-After:
              description: >-
                Seconds until this unchanged request may be retried: 1 after a
                concurrency rejection, 60 after the per-minute limit.
              schema:
                minimum: 1
                type: integer
        '503':
          content:
            application/problem+json:
              examples:
                projection_unavailable:
                  value:
                    detail: >-
                      An unexpected error prevented a safe commit, and nothing
                      was saved. Retry with backoff.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 503
                    title: >-
                      An unexpected error prevented a safe commit, and nothing
                      was saved. Retry with backoff.
                    type: https://docs.paypathiq.com/problems/projection_unavailable
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            An unexpected error prevented a safe commit, and nothing was saved.
            Retry with backoff.
          headers:
            Cache-Control:
              description: Integration-facing responses are never cached.
              schema:
                const: no-store
                type: string
            PayPathIQ-Api-Version:
              description: >-
                Public API contract version; industry profile is fixed by the
                current Integration grant.
              schema:
                type: string
                const: v1
            X-Request-Id:
              description: PayPathIQ-generated support correlation identifier.
              schema:
                format: uuid
                type: string
      security:
        - BearerAuth: []
components:
  schemas:
    ExternalResourceId:
      type: string
      pattern: ^[A-Za-z0-9_-]{1,128}$
    ReceiptDelivery:
      type: object
      properties: {}
      additionalProperties: false
      description: >-
        Asks PayPathIQ to deliver the receipt of this confirmed Payment through
        the connection's verified route. The body carries no fields: the receipt
        content is always derived from the confirmed Payment and its
        allocations.
    ReceiptDeliveryResponse:
      type: object
      properties:
        acknowledgement:
          type: object
          properties:
            allocatedAmount:
              type: object
              properties:
                amount:
                  type: string
                  pattern: ^(0|[1-9]\d{0,13})\.\d{2}$
                currency:
                  type: string
                  const: EUR
              required:
                - amount
                - currency
              additionalProperties: false
            matchedAmount:
              type: object
              properties:
                amount:
                  type: string
                  pattern: ^(0|[1-9]\d{0,13})\.\d{2}$
                currency:
                  type: string
                  const: EUR
              required:
                - amount
                - currency
              additionalProperties: false
            status:
              type: string
              enum:
                - pending
                - partial
                - acknowledged
            unmatchedAmount:
              type: object
              properties:
                amount:
                  type: string
                  pattern: ^(0|[1-9]\d{0,13})\.\d{2}$
                currency:
                  type: string
                  const: EUR
              required:
                - amount
                - currency
              additionalProperties: false
          required:
            - allocatedAmount
            - matchedAmount
            - status
            - unmatchedAmount
          additionalProperties: false
          description: >-
            Accounting acknowledgement, from Source receipt lines matched by
            payment reconciliations. It is independent of delivery: a successful
            submission or an exported file leaves it pending until exact receipt
            lines arrive.
        capability:
          type: object
          properties:
            disabledReason:
              type: string
              enum:
                - delivery_owned_by_partner
                - no_verified_route
            route:
              type: string
              enum:
                - blockman_receipt_posting
                - blockman_transaction_csv
                - xero_payment_write
            state:
              type: string
              enum:
                - enabled
                - disabled
            unverifiedRoutes:
              type: array
              items:
                type: object
                properties:
                  missingProof:
                    type: string
                    minLength: 1
                    maxLength: 300
                  route:
                    type: string
                    enum:
                      - blockman_receipt_posting
                      - blockman_transaction_csv
                      - xero_payment_write
                required:
                  - missingProof
                  - route
                additionalProperties: false
              description: >-
                Routes that are known but disabled because no vendor contract
                has been verified. PayPathIQ never claims automatic write-back
                through them.
          required:
            - state
            - unverifiedRoutes
          additionalProperties: false
          description: >-
            What PayPathIQ can deliver for this connection today. disabled means
            no delivery attempt will be made.
        delivery:
          type: object
          properties:
            attemptCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            attempts:
              type: array
              items:
                type: object
                properties:
                  attemptNumber:
                    type: integer
                    minimum: 1
                    maximum: 9007199254740991
                  attemptedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                  evidenceReference:
                    type: string
                    minLength: 1
                    maxLength: 200
                  failureCode:
                    type: string
                    enum:
                      - vendor_rejected
                      - vendor_unavailable
                      - credentials_invalid
                  outcome:
                    type: string
                    enum:
                      - submitted
                      - rejected
                      - ambiguous
                required:
                  - attemptNumber
                  - attemptedAt
                  - outcome
                additionalProperties: false
            reference:
              type: string
              minLength: 1
              maxLength: 64
              description: >-
                Stable reference sent on every attempt for this Payment. A
                vendor deduplicates on it, so a retry never creates a second
                posting.
            revision:
              type: integer
              minimum: 1
              maximum: 9007199254740991
            route:
              type: string
              enum:
                - blockman_receipt_posting
                - blockman_transaction_csv
                - xero_payment_write
            status:
              type: string
              enum:
                - pending
                - submitted
                - failed
                - ambiguous
              description: >-
                submitted: the vendor accepted the delivery, which is not
                accounting acknowledgement. failed: rejected; safe to retry.
                ambiguous: the outcome is unknown; no retry is made until exact
                receipt evidence acknowledges the Payment.
          required:
            - attemptCount
            - attempts
            - reference
            - revision
            - route
            - status
          additionalProperties: false
        deliveryOwner:
          type: string
          enum:
            - partner
            - paypathiq
        externalPaymentRequestId:
          type: string
          pattern: ^[A-Za-z0-9_-]{1,128}$
      required:
        - acknowledgement
        - capability
        - deliveryOwner
        - externalPaymentRequestId
      additionalProperties: false
    Problem:
      type: object
      properties:
        detail:
          type: string
        errors:
          maxItems: 20
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              detail:
                type: string
              pointer:
                type: string
            required:
              - code
              - detail
              - pointer
            additionalProperties: false
        requestId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        status:
          type: integer
          minimum: 400
          maximum: 599
        title:
          type: string
        type:
          type: string
          format: uri
      required:
        - detail
        - requestId
        - status
        - title
        - type
      additionalProperties: false
  securitySchemes:
    BearerAuth:
      bearerFormat: ppiq_test_<keyId>_<secret> or ppiq_live_<keyId>_<secret>
      description: >-
        Integration-owned environment-specific API key. Never paste a production
        key into documentation tools.
      scheme: bearer
      type: http

````

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