> ## 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.

# List what falls due on a day

> Every Client with something fallen due and unpaid on a date, across your whole book, with the payment options' own figures per Loan.

The read a charge run makes each morning. One entry per Client with something fallen due and unpaid on the date you name — the instalment falling due that day, a Period still inside its tolerance, and a late Period alike — and nobody else. Its cost follows what falls due, not how many borrowers you hold.

Each entry carries, per Loan owing on the date, the [payment options'](/api-reference/clients/payment-options) own `overdue`, `late` and `instalment` for that Loan, field for field, and per currency the Client's totals. A Loan that owes nothing on the date is not in its entry. A Loan whose figures the Platform cannot produce is left out; the Client's own options or [book](/api-reference/clients/book) names why.

<Warning>
  **Collect what `instalment.settled_by` names.** On an instalment's own due date it is `overdue`, which already holds the instalment. Adding `instalment.owed` to it collects the instalment twice.
</Warning>

**This read records nothing and serves no payoff.** A run that needs a payoff reads the one Client's options or book.

**A walk lists each Client once.** Clients come in ascending order of identifier. A Client owing for the whole walk is listed exactly once. A Client whose debt a receipt settles before the walk reaches it is not listed — which is what you want from a charge run.

**A page may be short and still carry a cursor.** One request examines at most **twice `limit`** Clients, since each costs a whole Client's derivation. Where that bound stops the walk before the page fills, the page is answered short — possibly empty — with a cursor at the position reached. Read the end of the walk from the absence of a cursor, never from the length of a page.

## Path parameters

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

## Query parameters

<ParamField query="on" type="string" required>
  The civil date the figures stand for. Required and never defaulted; absent is `422 outside_loan`.
</ParamField>

<ParamField query="only" type="string">
  `late` keeps the Clients carrying a `late` figure on some Loan. A Client whose only owing Period falls due on the date, or sits inside its tolerance, is left out. Anything else is `400 invalid_query`.
</ParamField>

<ParamField query="min_days_past_due" type="integer">
  Keeps the Clients whose worst days past due reach this number. Above zero it implies `only=late`. Not a whole number from zero is `400 invalid_query`.
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Clients per page, `1` to `200`.
</ParamField>

<ParamField query="cursor" type="string">
  The previous page's `cursor`, verbatim.
</ParamField>

## Response

<ResponseField name="on" type="string" required>
  The date asked about.
</ResponseField>

<ResponseField name="clients" type="array" required>
  The Clients with something fallen due, in ascending order of identifier.

  <Expandable title="client">
    <ResponseField name="client_id" type="string" required>
      The Client.
    </ResponseField>

    <ResponseField name="loans" type="array" required>
      The Client's Loans owing on the date, and no other.

      | Field | What it is |
      | - | - |
      | `loan_id`, `reference` | The Loan. |
      | `overdue` | What has fallen due and is unpaid, charges apart. Never zero here. |
      | `late` | What among it is late: `owed`, `worst_days_past_due`, `periods`. Absent means not late. |
      | `instalment` | The next instalment, with `settled_by`. Absent where every Period has fallen due. |
    </ResponseField>

    <ResponseField name="currencies" type="array" required>
      One entry per currency the owing Loans are in. Nothing is summed across currencies.

      | Field | What it is |
      | - | - |
      | `currency` | The currency. |
      | `overdue` | The sum of the Loans' `overdue`. |
      | `late` | The sum of the Loans' `late.owed`, a stated zero where none is late. |
      | `worst_days_past_due` | The largest among the late Loans, `0` where none is late. |
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="cursor" type="string">
  Present where the walk goes on.
</ResponseField>

<RequestExample>
  ```bash Every Client owing theme={null}
  curl "https://api.capcells.com/v1/tenants/$TENANT_ID/dues?on=2026-05-04" \
    -H "Authorization: $(capcells_sign "$CAPCELLS_API_KEY" GET "/v1/tenants/$TENANT_ID/dues?on=2026-05-04")"
  ```

  ```bash Late by a week or more theme={null}
  curl "https://api.capcells.com/v1/tenants/$TENANT_ID/dues?on=2026-05-04&min_days_past_due=7" \
    -H "Authorization: $(capcells_sign "$CAPCELLS_API_KEY" GET "/v1/tenants/$TENANT_ID/dues?on=2026-05-04&min_days_past_due=7")"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "on": "2026-05-04",
    "clients": [
      {
        "client_id": "c-0001",
        "loans": [
          {
            "loan_id": "7771aef0-9e65-4a0a-a902-aab4e970d33f",
            "reference": "loan-0001",
            "overdue": { "total": { "minor_units": 90066, "currency": "MXN" }, "charges": [ … ] },
            "instalment": {
              "index": 2,
              "scheduled_on": "2026-05-02",
              "due_on": "2026-05-04",
              "owed": { "total": { "minor_units": 90066, "currency": "MXN" }, "charges": [ … ] },
              "actionable_from": "2026-05-04",
              "requires_overdue_settled": false,
              "settled_by": "overdue"
            }
          }
        ],
        "currencies": [
          {
            "currency": "MXN",
            "overdue": { "minor_units": 90066, "currency": "MXN" },
            "late": { "minor_units": 0, "currency": "MXN" },
            "worst_days_past_due": 0
          }
        ]
      }
    ],
    "cursor": "MQkxOWE…"
  }
  ```

  ```json 200 A page the bound cut short theme={null}
  {
    "on": "2026-05-04",
    "clients": [],
    "cursor": "MQkxNGQ…"
  }
  ```

  ```json 422 No date theme={null}
  {
    "error": "loan: the question falls outside the loan: what has fallen due is listed as of a date, and on was not given -- there is no today the platform can supply",
    "code": "outside_loan"
  }
  ```
</ResponseExample>


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