> ## Documentation Index
> Fetch the complete documentation index at: https://docs.capcells.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Read a Client's statement

> Every Loan's statement for a period you name, and the Client's totals across them per currency.

Every Loan the Client holds, each with [its statement](/api-reference/loans/statement) over the civil period from `from` to `to` — field for field what the Loan's own statement answers — and, per currency, what the Loans add up to: what they owed the day before, what arose, what the Receipts settled, and what they owed on the last day.

It is one pass over the Client's Receipts, as [the book](/api-reference/clients/book) is. A statement records nothing.

<Warning>
  **Every item of the Mexican list the Platform holds is served.** See [Mexico](/lending/mexico#periodic-statement).
</Warning>

## Path parameters

<ParamField path="tenant_id" type="string" required>
  The Tenancy asking.
</ParamField>

<ParamField path="client_id" type="string" required>
  The Client whose statement this is.
</ParamField>

## Query parameters

<ParamField query="from" type="string" required>
  The period's first civil day, `YYYY-MM-DD`. Required; absent is `422`.
</ParamField>

<ParamField query="to" type="string" required>
  The period's last civil day, inclusive. Required; absent is `422`. A `to` before `from` is `400` `invalid_query`.
</ParamField>

## Response

<ResponseField name="client_id, from, to" type="string" required>
  The Client and the period, echoed.
</ResponseField>

<ResponseField name="loans" type="array" required>
  Every Loan the Client holds, whatever its state, each [a Loan's statement](/api-reference/loans/statement). A Loan the Platform cannot describe carries the reason in `anomalies` and takes no other Loan with it.
</ResponseField>

<ResponseField name="currencies" type="array" required>
  The totals, one entry per currency. Nothing is summed across currencies.

  | Field | What it is |
  | - | - |
  | `currency` | The currency. |
  | `loans` | How many Loans are in it. |
  | `opening` | What the Loans owed on the day before `from`. |
  | `charged` | What arose inside the period, tax included. |
  | `received` | What the Receipts inside the period settled. |
  | `closing` | What the Loans owed on `to`. |
  | `interest_charged` | The interest charged inside the period, tax included. |
  | `commissions_charged` | The fees and late fees charged inside the period, tax included. |
  | `anomalies` | Why the figures are absent. |

  The figures are **absent together rather than short** where a Loan that would count could not be described. A Loan on a day it stood ceded adds nothing to that day's balance: it was owed to the assignee.
</ResponseField>

<RequestExample>
  ```bash Read theme={null}
  QUERY="?from=2026-09-01&to=2026-09-30"
  curl "https://api.capcells.com/v1/tenants/$TENANT_ID/clients/c-0001/statement$QUERY" \
    -H "Authorization: $(capcells_sign "$CAPCELLS_API_KEY" GET "/v1/tenants/$TENANT_ID/clients/c-0001/statement$QUERY")"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "client_id": "c-0001",
    "from": "2026-09-01",
    "to": "2026-09-30",
    "loans": [ { "id": "7771aef0-9e65-4a0a-a902-aab4e970d33f", "from": "2026-09-01", "to": "2026-09-30", … } ],
    "currencies": [
      {
        "currency": "MXN",
        "loans": 1,
        "opening": { "minor_units": 500000, "currency": "MXN" },
        "charged": { "minor_units": 27556, "currency": "MXN" },
        "received": { "minor_units": 101738, "currency": "MXN" },
        "closing": { "minor_units": 425818, "currency": "MXN" },
        "anomalies": []
      }
    ]
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.