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

> List the grants your Tenancy holds, narrowed to one Client when the parameter names one.

This call answers the Facilities your Tenancy has created, newest first, and narrows to one Client when you name one.

A Client may hold several live grants at once. None supersedes another, and the Platform states no ceiling across them — so this is the call that shows a screen everything one borrower has been granted.

<Info>
  The list carries no headroom. Deriving it is one question per grant into the loan domain, and most callers of a list do not need it. Read a Facility for the remainder.
</Info>

## Path parameters

<ParamField path="tenant_id" type="string" required>
  The Tenancy whose grants are listed. Another Tenancy's path answers `403`.
</ParamField>

## Query parameters

<ParamField query="client" type="string">
  Narrows the list to one Client. Absent, the whole Tenancy's grants are answered.

  Present with no value is refused rather than treated as absent. A list that quietly dropped an unreadable narrowing would answer with every grant of the Tenancy — a wider answer than you asked for, on the surface that says how much a borrower may still draw.
</ParamField>

## Response

<ResponseField name="facilities" type="array" required>
  The grants, newest first. Each carries every field the creation answers and neither `drawn` nor `headroom`.

  A Tenancy that holds none, and a Client that holds none, are both answered an empty array rather than null.
</ResponseField>

## Several grants at once

Nothing here ends, reduces or supersedes anything else in the list. Each grant caps only the Loans issued under it, and a Client holding two live grants may draw the whole headroom of each.

That is a stated position rather than an omission. A Tenancy that needs a ceiling across a borrower's grants enforces it in its own system, out of the totals this call and the Facility read serve.

## Refusals

This route takes no body.

| Status | When |
| - | - |
| `400` | The URL carries a parameter this route does not read, states `client` twice, or leaves it present with no value |
| `403` | The key authenticates for another Tenancy |

A read-scoped key is enough.

<RequestExample>
  ```bash List theme={null}
  curl "https://api.capcells.com/v1/tenants/capyplazo/facilities?client=client-alonso" \
    -H "Authorization: $(capcells_sign "$CAPCELLS_API_KEY" GET "/v1/tenants/capyplazo/facilities?client=client-alonso")"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "facilities": [
      {
        "id": "3a156e45-e3df-4dc1-9a80-8dca3e58a0cc",
        "client_id": "client-alonso",
        "configuration_id": "9ae76f4e-2eb4-43ce-831c-f3b1aa7b5dd6",
        "decided_version": 1,
        "decision_id": "4e19e899-fa40-4047-bb33-2b2ab40f8dea",
        "amount": { "minor_units": 1000000, "currency": "MXN" },
        "rate": { "numerator": 9, "denominator": 20, "quotation": "annual nominal", "percent": "45" },
        "opens_on": "2026-08-24",
        "expires_on": "2026-09-23",
        "created_at": "2026-08-24T22:23:58.162514Z"
      }
    ]
  }
  ```

  ```json 200 Nothing granted theme={null}
  {
    "facilities": []
  }
  ```

  ```json 400 Present with no value theme={null}
  {
    "error": "reading the request: the parameter \"client\" is present with no value",
    "code": "invalid_query"
  }
  ```
</ResponseExample>


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