---
title: "Bank Account Coverage"
method: GET
path: "/bank-accounts/{account_id}/coverage"
tags: ["reconciliation"]
---

# Bank Account Coverage

`GET /bank-accounts/{account_id}/coverage`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/bank-accounts/{account_id}/coverage`
- Auth: none declared

One account's statement history plus the holes in its coverage.

``statements`` lists **every** statement stored for the account (sequence order,
undated ones last), each with the ``from_date``/``to_date`` period and the balances
that were actually read off it.

``gaps`` are the missing periods. They are computed over the UNION of the statements'
coverage windows, not by comparing statements pairwise: every statement's window is
merged (with 1-day adjacency, so a folded weekend stays contiguous) and each remaining
**internal** hole is reported once, spanning the entire missing stretch. A run of
several consecutive missing statements is therefore ONE gap of full width — a January
and a May statement with February through April absent report a single
``2025-02-01 … 2025-04-30``, not April alone and not three separate gaps (ZCT-509).
Only holes bracketed by coverage on both sides are emitted; a period before the first
or after the last statement is not a hole here (``…/reconciliation/completeness``
answers "is this month covered at all").

A statement's coverage falls back to its opening/closing **balance dates** when it
carries no ``<FrToDt>`` period, and a statement with neither contributes no coverage
at all — so a period-less fixture can legitimately shrink a gap.

## Path parameters

- `account_id` string, required

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- CoverageResponse
  - `statements` CoverageStatement[], required
    - `id` string, required
    - `sequence_number` integer, nullable
    - `from_date` string, date-time, nullable
    - `to_date` string, date-time, nullable
    - `opening_balance` string, nullable
    - `closing_balance` string, nullable
  - `gaps` CoverageGap[], required
    - `after_sequence` integer, nullable
    - `expected_from` string, nullable
    - `expected_to` string, nullable
    - `reason` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
