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

# Get receipt delivery and acknowledgement

> Requires payment_requests:read. Returns the connection's declared receipt delivery owner, what PayPathIQ can deliver today, every delivery attempt and, separately, the accounting acknowledgement derived from Source receipt lines. Delivery and acknowledgement are independent facts: a submission or an exported file never acknowledges a Payment.



## OpenAPI

````yaml /generated/inbound-api-v1.openapi.json get /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:
    get:
      tags:
        - Receipt delivery
      summary: Get receipt delivery and acknowledgement
      description: >-
        Requires payment_requests:read. Returns the connection's declared
        receipt delivery owner, what PayPathIQ can deliver today, every delivery
        attempt and, separately, the accounting acknowledgement derived from
        Source receipt lines. Delivery and acknowledgement are independent
        facts: a submission or an exported file never acknowledges a Payment.
      operationId: getReceiptDelivery
      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'
      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: Delivery state and acknowledgement.
          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
              schema:
                $ref: '#/components/schemas/Problem'
          description: The Payment request has no provider-confirmed Payment to deliver.
          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}$
    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.