---
title: "List reconciliations"
method: GET
path: "/reconciliations"
---

# List reconciliations

`GET /reconciliations`

Returns a paginated list of reconciliations with their associated data streams, newest first.

## Query parameters

- `cursor` string
- `limit` integer

## Response `200`

Paginated list of reconciliations

- object
  - `data` Reconciliation[]
    - `id` integer
    - `name` string, required — Human readable name for the reconciliation
    - `run_type` 'continuous' | 'batch'
    - `side_a_streams` DataStream[] — Data streams on side A of the reconciliation
      - `id` integer — Unique numeric identifier
      - `key` string, required — Unique immutable identifier
      - `name` string, required — Human readable name
      - `description` string — Optional description of the data stream
      - `type` string — The type of data stream (e.g. api, csv, stripe, bank_feed)
      - `program_id` integer, nullable
      - `records_count` integer — Record count from the ClickHouse mirror
    - `side_b_streams` DataStream[] — Data streams on side B of the reconciliation
      - `id` integer — Unique numeric identifier
      - `key` string, required — Unique immutable identifier
      - `name` string, required — Human readable name
      - `description` string — Optional description of the data stream
      - `type` string — The type of data stream (e.g. api, csv, stripe, bank_feed)
      - `program_id` integer, nullable
      - `records_count` integer — Record count from the ClickHouse mirror
    - `created_at` string, date-time
    - `current_run` ReconciliationRun — A single execution of a reconciliation's batch or continuous matching pipeline.
      - `id` integer
      - `kind` 'batch' | 'continuous'
      - `status` 'pending' | 'running' | 'completed' | 'failed'
      - `trigger` 'manual' | 'rule_activated' | 'agent' | 'record_created' — What initiated this run
      - `total_records` integer — Total records considered by the run
      - `processed_records` integer — Records processed so far
      - `matched_records` integer — Records that were matched during the run
      - `rule_summary` object, nullable — Per-rule match counts, populated as the run progresses
      - `progress` integer — Processing progress as a percentage (0-100)
      - `started_at` string, date-time, nullable
      - `completed_at` string, date-time, nullable
    - `last_run` ReconciliationRun — A single execution of a reconciliation's batch or continuous matching pipeline.
      - `id` integer
      - `kind` 'batch' | 'continuous'
      - `status` 'pending' | 'running' | 'completed' | 'failed'
      - `trigger` 'manual' | 'rule_activated' | 'agent' | 'record_created' — What initiated this run
      - `total_records` integer — Total records considered by the run
      - `processed_records` integer — Records processed so far
      - `matched_records` integer — Records that were matched during the run
      - `rule_summary` object, nullable — Per-rule match counts, populated as the run progresses
      - `progress` integer — Processing progress as a percentage (0-100)
      - `started_at` string, date-time, nullable
      - `completed_at` string, date-time, nullable
  - `next_cursor` string, nullable — Opaque cursor for the next page. Null when no more pages.
  - `limit` integer

---

[API](https://skmtc.net/endclose/apis/end-close-api.md) · [All operations](https://skmtc.net/endclose/apis/end-close-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/endclose/end-close-api/revisions/613ceff68dc7/schema)
