Matching

List open items

Returns a cursor-paginated list of open-item residual ledger entries for a reconciliation context — the carried, partially-filled, and aged obligations the context carries forward across match runs. These are structurally distinct from never-matched (UNMATCHED) transactions. Optionally narrowed by lifecycle status. The listing is readable regardless of context status.

get/v1/matching/contexts/{contextId}/open-items

Request

Path parameters

contextIdstring uuid required

Reconciliation context ID

Query parameters

status'OPEN' | 'PARTIALLY_CLEARED' | 'CLEARED' | 'AGED'

Filter by open-item lifecycle status

limitinteger

Maximum number of records to return

cursorstring

Opaque pagination cursor

sort_by'ageDays' | 'runningBalance' | 'obligationDate'

Field to sort by. Defaults to id (stable insertion order). ageDays sorts by aging anchor (oldest residuals first when descending)

sort_order'asc' | 'desc'

Sort order

Response

OK

hasMoreboolean required
limitinteger required
nextCursorstring
prevCursorstring

Example response

{
  "hasMore": true,
  "items": [
    {
      "ageDays": 12,
      "contextId": "550e8400-e29b-41d4-a716-446655440000",
      "createdAt": "2025-01-15T10:30:00Z",
      "currency": "USD",
      "expectedBalance": "1000.00",
      "firstSeenAt": "2025-01-15T10:30:00Z",
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "identityKey": "invoice=INV-1001|currency=USD",
      "lastActivityAt": "2025-01-20T09:00:00Z",
      "obligationDate": "2025-01-10T00:00:00Z",
      "runId": "550e8400-e29b-41d4-a716-446655440000",
      "runningBalance": "250.00",
      "status": "PARTIALLY_CLEARED",
      "transactionId": "550e8400-e29b-41d4-a716-446655440000",
      "updatedAt": "2025-01-20T09:00:00Z"
    }
  ],
  "limit": 20,
  "nextCursor": "eyJpZCI6IjEyMyJ9",
  "prevCursor": "eyJpZCI6IjEyMiJ9"
}

Changes

No recorded changes to this operation across all 1 revision of this API.