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

# List delivery-ready Payments

> Requires payment_observations:read and a connection whose receipt delivery owner is partner. Lists provider-confirmed Payments of this connection's hosted Payment requests, in Payment request identifier order, with stable payment and allocation references. Retrieving a Payment is not delivery and never implies posting: delivery attempts are reported separately, and accountingAcceptance reflects only receipt lines acknowledged through payment reconciliations. Payment requests without exactly one confirmed Payment are not listed.



## OpenAPI

````yaml /generated/inbound-api-v1.openapi.json get /v1/clients/{clientCode}/payment-deliveries
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-deliveries:
    get:
      tags:
        - Payment delivery
      summary: List delivery-ready Payments
      description: >-
        Requires payment_observations:read and a connection whose receipt
        delivery owner is partner. Lists provider-confirmed Payments of this
        connection's hosted Payment requests, in Payment request identifier
        order, with stable payment and allocation references. Retrieving a
        Payment is not delivery and never implies posting: delivery attempts are
        reported separately, and accountingAcceptance reflects only receipt
        lines acknowledged through payment reconciliations. Payment requests
        without exactly one confirmed Payment are not listed.
      operationId: listPaymentDeliveries
      parameters:
        - description: >-
            Stable non-sensitive Client code authorized by the Integration
            grant.
          in: path
          name: clientCode
          required: true
          schema:
            $ref: '#/components/schemas/ExternalResourceId'
        - description: Only Payments in this accounting acceptance state are returned.
          in: query
          name: accountingAcceptance
          required: false
          schema:
            enum:
              - pending
              - partially_acknowledged
              - acknowledged
              - held
            type: string
        - description: >-
            The nextAfter value of a previous page. Omit it to read from the
            start.
          in: query
          name: after
          required: false
          schema:
            $ref: '#/components/schemas/ExternalResourceId'
        - description: Maximum Payments to return, from 1 to 100. Defaults to 50.
          in: query
          name: limit
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  - accountingAcceptance: partially_acknowledged
                    allocations:
                      - allocatedAmount:
                          amount: '100.00'
                          currency: EUR
                        allocationReference: 5f1d3c6e-2b6a-4a57-9a3e-0d8b1c2f4a10
                        externalReceivableId: REC_EXAMPLE_1
                        matchedAmount:
                          amount: '100.00'
                          currency: EUR
                        unmatchedAmount:
                          amount: '0.00'
                          currency: EUR
                      - allocatedAmount:
                          amount: '200.00'
                          currency: EUR
                        allocationReference: 7a9e1b44-6c0f-4f25-8d71-3e5a9b0c6d21
                        externalReceivableId: REC_EXAMPLE_2
                        matchedAmount:
                          amount: '0.00'
                          currency: EUR
                        unmatchedAmount:
                          amount: '200.00'
                          currency: EUR
                    confirmedAt: '2026-10-15T12:00:00.000Z'
                    delivery:
                      attempts:
                        - channel: api
                          externalAttemptId: DELIVERY_ATTEMPT_1
                          outcome: delivered
                          recordedAt: '2026-10-15T12:10:00.000Z'
                      state: delivered
                    deliveryOwner: partner
                    externalPaymentRequestId: PAYREQ_EXAMPLE
                    paymentAmount:
                      amount: '300.00'
                      currency: EUR
                    paymentReference: 0c4e8a52-1d3b-4e6f-b7a9-2f5c8d1e3a60
                    reconciliations:
                      - RECON_EXAMPLE
                    unappliedAmount:
                      amount: '0.00'
                      currency: EUR
                    unmatchedAmount:
                      amount: '200.00'
                      currency: EUR
                hasMore: false
                nextAfter: null
              schema:
                $ref: '#/components/schemas/PaymentDeliveryListResponse'
          description: A page of delivery-ready Payments.
          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
        '409':
          content:
            application/problem+json:
              examples:
                receipt_delivery_owner_mismatch:
                  value:
                    detail: >-
                      This connection declares PayPathIQ as the receipt delivery
                      owner, so partner retrieval, delivery and acknowledgement
                      operations are unavailable.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 409
                    title: >-
                      This connection declares PayPathIQ as the receipt delivery
                      owner, so partner retrieval, delivery and acknowledgement
                      operations are unavailable.
                    type: >-
                      https://docs.paypathiq.com/problems/receipt_delivery_owner_mismatch
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            This connection declares PayPathIQ as the receipt delivery owner, so
            partner retrieval, delivery and acknowledgement operations are
            unavailable.
          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}$
    PaymentDeliveryListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              accountingAcceptance:
                type: string
                enum:
                  - pending
                  - partially_acknowledged
                  - acknowledged
                  - held
                description: >-
                  pending: no receipt line has acknowledged this Payment.
                  partially_acknowledged: some of the allocated amount is
                  acknowledged. acknowledged: every allocated amount is
                  acknowledged. held: a receipt line differs and affected
                  actions are held. Derived only from payment reconciliations,
                  never from delivery attempts or reads.
              allocations:
                type: array
                items:
                  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
                    allocationReference:
                      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)$
                      description: >-
                        A stable opaque reference to this allocation of the
                        Payment.
                    externalReceivableId:
                      type: string
                      pattern: ^[A-Za-z0-9_-]{1,128}$
                    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
                    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
                    - allocationReference
                    - externalReceivableId
                    - matchedAmount
                    - unmatchedAmount
                  additionalProperties: false
              confirmedAt:
                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))$
              delivery:
                type: object
                properties:
                  attempts:
                    type: array
                    items:
                      type: object
                      properties:
                        channel:
                          type: string
                          enum:
                            - api
                            - file_download
                        externalAttemptId:
                          type: string
                          pattern: ^[A-Za-z0-9_-]{1,128}$
                        outcome:
                          type: string
                          enum:
                            - downloaded
                            - delivered
                            - failed
                        recordedAt:
                          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))$
                      required:
                        - channel
                        - externalAttemptId
                        - outcome
                        - recordedAt
                      additionalProperties: false
                    description: Delivery attempts you reported, oldest first.
                  state:
                    type: string
                    enum:
                      - not_attempted
                      - downloaded
                      - delivered
                      - failed
                    description: >-
                      The outcome of the latest reported attempt, or
                      not_attempted. Retrieving this resource never changes it.
                required:
                  - attempts
                  - state
                additionalProperties: false
              deliveryOwner:
                type: string
                const: partner
                description: >-
                  The agreed owner of receipt delivery for this connection. Only
                  the owner may retrieve, deliver and acknowledge.
              externalPaymentRequestId:
                type: string
                pattern: ^[A-Za-z0-9_-]{1,128}$
              paymentAmount:
                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
              paymentReference:
                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)$
                description: A stable opaque reference to the confirmed Payment.
              reconciliations:
                type: array
                items:
                  type: string
                  pattern: ^[A-Za-z0-9_-]{1,128}$
                description: >-
                  Identifiers of the payment reconciliations that acknowledged
                  this Payment.
              unappliedAmount:
                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
              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:
              - accountingAcceptance
              - allocations
              - confirmedAt
              - delivery
              - deliveryOwner
              - externalPaymentRequestId
              - paymentAmount
              - paymentReference
              - reconciliations
              - unappliedAmount
              - unmatchedAmount
            additionalProperties: false
        hasMore:
          type: boolean
        nextAfter:
          anyOf:
            - type: string
              pattern: ^[A-Za-z0-9_-]{1,128}$
            - type: 'null'
          description: Pass as after to read the next page. Null on the last page.
      required:
        - data
        - hasMore
        - nextAfter
      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.