> ## 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 a collection summary

> Requires collection_summaries:read, a scope separate from intake, corrections, recovery and Payment initiation. Returns the Receivable's working collection position, separate from its Source representation: source and working amounts, confirmed amounts awaiting accounting, reconciliation status, current recovery and Payment holds, authorized promise-to-pay and Payment-plan summaries, and recent action outcomes. Staff notes, protected data, message content and provider responses are never included. A commitment appears only when every Receivable it covers belongs to this connection. Only Receivables placed by this connection's own grant are visible, and a revoked or changed grant stops access immediately. Reads are informational: they never start, resume or clear recovery, and each recovery or Payment action checks every control again when it is attempted. Reading does not count as fresh Source evidence.



## OpenAPI

````yaml /generated/inbound-api-v1.openapi.json get /v1/clients/{clientCode}/collection-summaries/{externalReceivableId}
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}/collection-summaries/{externalReceivableId}:
    get:
      tags:
        - Collection summaries
      summary: Get a collection summary
      description: >-
        Requires collection_summaries:read, a scope separate from intake,
        corrections, recovery and Payment initiation. Returns the Receivable's
        working collection position, separate from its Source representation:
        source and working amounts, confirmed amounts awaiting accounting,
        reconciliation status, current recovery and Payment holds, authorized
        promise-to-pay and Payment-plan summaries, and recent action outcomes.
        Staff notes, protected data, message content and provider responses are
        never included. A commitment appears only when every Receivable it
        covers belongs to this connection. Only Receivables placed by this
        connection's own grant are visible, and a revoked or changed grant stops
        access immediately. Reads are informational: they never start, resume or
        clear recovery, and each recovery or Payment action checks every control
        again when it is attempted. Reading does not count as fresh Source
        evidence.
      operationId: getCollectionSummary
      parameters:
        - description: >-
            Stable non-sensitive Client code authorized by the Integration
            grant.
          in: path
          name: clientCode
          required: true
          schema:
            $ref: '#/components/schemas/ExternalResourceId'
        - description: >-
            The Source's identifier of the Receivable, as used when it was
            placed.
          in: path
          name: externalReceivableId
          required: true
          schema:
            $ref: '#/components/schemas/ExternalResourceId'
      responses:
        '200':
          content:
            application/json:
              example:
                actions:
                  - channel: message
                    executedAt: '2026-10-14T10:02:00Z'
                    origin: automatic
                    status: completed
                commitments:
                  - amount:
                      amount: '50.00'
                      currency: EUR
                    arrangementTotal:
                      amount: '200.00'
                      currency: EUR
                    dueAt: '2026-10-31T00:00:00Z'
                    frequency: monthly
                    instalmentsPaid: 1
                    kind: payment_plan
                    nextInstalment:
                      amount:
                        amount: '50.00'
                        currency: EUR
                      dueAt: '2026-10-31T00:00:00Z'
                    status: active
                    totalInstalments: 4
                externalReceivableId: LOAN_5521_INST_07
                financialPosition:
                  confirmedUnreconciledAmount:
                    amount: '40.00'
                    currency: EUR
                  receiptAcknowledgedAmount:
                    amount: '0.00'
                    currency: EUR
                  sourceAmount:
                    amount: '140.00'
                    currency: EUR
                  workingAmount:
                    amount: '100.00'
                    currency: EUR
                financialType: loan_instalment
                payment:
                  holds: []
                  initiationHeld: false
                reconciliation:
                  status: pending_accounting
                recovery:
                  entryMode: explicit_instruction
                  held: false
                  holds: []
                  state: eligible
              schema:
                $ref: '#/components/schemas/CollectionSummary'
          description: Current collection summary for the Receivable.
          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:
                receivable_not_found:
                  value:
                    detail: Receivable was not found within the authorized scope.
                    requestId: 29400000-0000-4000-8000-000000000001
                    status: 404
                    title: Receivable was not found within the authorized scope.
                    type: https://docs.paypathiq.com/problems/receivable_not_found
              schema:
                $ref: '#/components/schemas/Problem'
          description: Receivable was not found within the authorized scope.
          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}$
    CollectionSummary:
      type: object
      properties:
        actions:
          maxItems: 10
          type: array
          items:
            type: object
            properties:
              channel:
                type: string
                enum:
                  - call
                  - message
                  - other
              executedAt:
                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))$
              origin:
                type: string
                enum:
                  - manual
                  - automatic
              scheduledFor:
                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))$
              status:
                type: string
                enum:
                  - scheduled
                  - running
                  - completed
                  - failed
                  - cancelled
            required:
              - channel
              - origin
              - status
            additionalProperties: false
            description: >-
              A collection action's status. Message content, staff notes and
              provider responses are never included.
          description: The most recent actions, newest first.
        commitments:
          maxItems: 5
          type: array
          items:
            type: object
            properties:
              amount:
                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
              arrangementTotal:
                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
              dueAt:
                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))$
              frequency:
                type: string
                maxLength: 40
              instalmentsPaid:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              kind:
                type: string
                enum:
                  - promise_to_pay
                  - payment_plan
              nextInstalment:
                type: object
                properties:
                  amount:
                    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
                  dueAt:
                    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:
                  - amount
                  - dueAt
                additionalProperties: false
              status:
                type: string
                enum:
                  - active
                  - completed
                  - broken
                  - cancelled
              totalInstalments:
                type: integer
                minimum: 1
                maximum: 9007199254740991
            required:
              - amount
              - dueAt
              - instalmentsPaid
              - kind
              - status
            additionalProperties: false
            description: >-
              A promise to pay or Payment plan covering this Receivable.
              Read-only: commitments are never created or edited through this
              API, and notes are never included.
        externalReceivableId:
          type: string
          pattern: ^[A-Za-z0-9_-]{1,128}$
        financialPosition:
          type: object
          properties:
            confirmedUnreconciledAmount:
              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
            sourceAmount:
              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
            receiptAcknowledgedAmount:
              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
              description: >-
                The part of confirmed Payments that Source receipt lines have
                been matched against for this Receivable. It reduces
                confirmedUnreconciledAmount without changing the working amount.
            receiptDifference:
              description: >-
                Present while a receipt line for this Receivable did not fit its
                allocated Payment amount and is unresolved. Affected recovery
                and Payment actions are held; both figures are preserved until
                matching evidence or an authorized correction resolves it.
              type: object
              properties:
                externalReconciliationId:
                  type: string
                  pattern: ^[A-Za-z0-9_-]{1,128}$
                since:
                  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:
                - externalReconciliationId
                - since
              additionalProperties: false
            missingFromCompleteBook:
              description: >-
                Present while a verified complete book omitted this Receivable
                and it has not been resolved. Affected recovery and Payment
                actions are held; balance, status and history are unchanged.
                Cleared by a later verified complete book that contains it, an
                authorized source close, or an authorized correction to a zero
                balance, and never resumes recovery by itself.
              type: object
              properties:
                externalCompletionId:
                  type: string
                  pattern: ^[A-Za-z0-9_-]{1,128}$
                since:
                  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:
                - externalCompletionId
                - since
              additionalProperties: false
            sourcePosition:
              description: >-
                The latest ordered balance snapshot that covered this
                Receivable. Absent until one has.
              type: object
              properties:
                asOf:
                  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))$
                position:
                  type: integer
                  exclusiveMinimum: 0
                  maximum: 9007199254740991
              required:
                - asOf
                - position
              additionalProperties: false
            uncertainty:
              description: >-
                Present while the Source and working positions cannot be safely
                reconciled. Affected recovery and Payment actions are held. Both
                figures are preserved; only matching evidence or an authorized
                correction resolves it.
              type: object
              properties:
                reason:
                  type: string
                  enum:
                    - pending_payment_overlap_unknown
                    - source_balance_mismatch
                since:
                  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))$
                snapshotAmount:
                  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:
                - reason
                - since
                - snapshotAmount
              additionalProperties: false
            workingAmount:
              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:
            - confirmedUnreconciledAmount
            - sourceAmount
            - receiptAcknowledgedAmount
            - workingAmount
          additionalProperties: false
          description: >-
            Present on reads. sourceAmount is the declared accounting
            authority's position, workingAmount is the safe collection balance
            after confirmed allocated Payments, and confirmedUnreconciledAmount
            is the allocated confirmed amount the Source has not yet
            acknowledged. Unapplied funds appear in none of them.
        financialType:
          type: string
          enum:
            - loan_instalment
            - accelerated_balance
            - loan_balance
            - service_charge_demand
        payment:
          type: object
          properties:
            holds:
              type: array
              items:
                type: string
                enum:
                  - dispute
                  - source_restriction
                  - source_stale
                  - other_protection
                  - reconciliation_difference
                  - missing_from_complete_book
                  - source_uncertain
              description: >-
                Closed categories of the holds currently preventing new Payment
                initiation.
            initiationHeld:
              type: boolean
          required:
            - holds
            - initiationHeld
          additionalProperties: false
          description: >-
            Whether a new hosted Payment request would currently be refused. It
            is informational: payment creation checks every control again.
        reconciliation:
          type: object
          properties:
            status:
              type: string
              enum:
                - reconciled
                - pending_accounting
                - difference_held
                - source_uncertain
                - missing_from_complete_book
              description: >-
                The most urgent accounting state for this Receivable.
                missing_from_complete_book, difference_held and source_uncertain
                each hold recovery and Payment actions; pending_accounting means
                confirmed Payments await Source acknowledgement; reconciled
                means none are outstanding.
          required:
            - status
          additionalProperties: false
          description: >-
            Reconciliation status. The supporting amounts are in
            financialPosition.
        recovery:
          type: object
          properties:
            entryMode:
              type: string
              enum:
                - explicit_instruction
                - approved_rules
            held:
              type: boolean
              description: >-
                True while any hold prevents recovery for the Receivable right
                now.
            holds:
              type: array
              items:
                type: string
                enum:
                  - recovery_not_authorized
                  - collection_not_enabled
                  - source_restriction
                  - dispute
                  - source_stale
                  - other_protection
                  - reconciliation_hold
              description: Closed categories of the holds currently preventing recovery.
            state:
              type: string
              enum:
                - settled
                - held
                - eligible
              description: >-
                settled: nothing is owed. held: at least one hold applies.
                eligible: no hold applies now; every protection is checked again
                when an action is attempted.
          required:
            - entryMode
            - held
            - holds
            - state
          additionalProperties: false
          description: >-
            Working recovery state. It is informational: reading it never
            starts, resumes or clears recovery.
      required:
        - actions
        - commitments
        - externalReceivableId
        - financialPosition
        - financialType
        - payment
        - reconciliation
        - recovery
      additionalProperties: false
      description: >-
        The working collection position of one Receivable, separate from its
        Source representation. Requires collection_summaries:read.
    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.