> ## 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 the adoption

> Read the Credit policy version the applications for one Configuration are currently decided under.

This call answers the adoption a Tenancy holds for one Configuration: the Configuration, the policy, the version, whether the credit bar is enforced, and the moment the statement was recorded.

A Configuration your Tenancy has adopted nothing for answers `404` and names that state. It is an answer rather than a fault, and it is what lets a screen render the adoption step instead of a policy nobody chose. A Tenancy that adopted for some other product is in that state for this one.

<Info>
  There is one adoption per Configuration and no history behind it. A later adoption replaces what governs that Configuration; no call answers what it replaced, and no call answers an adoption for a Configuration you did not ask about.
</Info>

## Path parameters

<ParamField path="tenant_id" type="string" required>
  The Tenancy whose adoption is read. Another Tenancy's path answers `403`.
</ParamField>

<ParamField path="configuration_id" type="string" required>
  The Configuration the adoption is read for.
</ParamField>

## Response

<ResponseField name="configuration_id" type="string" required>
  The Configuration this adoption governs.
</ResponseField>

<ResponseField name="policy" type="string" required>
  The policy currently adopted for it.
</ResponseField>

<ResponseField name="version" type="integer" required>
  Its version.
</ResponseField>

<ResponseField name="enforce_bar" type="boolean" required>
  Whether an application for a barred Client is refused as `409 client_barred`. `false` on every adoption stated before the choice existed.
</ResponseField>

<ResponseField name="stated_at" type="string" required>
  RFC 3339 in UTC: the moment the statement was recorded.
</ResponseField>

## Refusals

This route reads no query parameter and takes no body.

| Status | When |
| - | - |
| `400` | The URL carries a query parameter, which this route does not read |
| `403` | The key authenticates for another Tenancy |
| `404` | The Tenancy has adopted nothing for that Configuration |

A Configuration that does not exist and one you have adopted nothing for answer alike, with `404`: this call reads what was adopted and does not check the product catalogue.

A read-scoped key is enough; only adopting needs a write-scoped one.

<RequestExample>
  ```bash Read theme={null}
  curl https://api.capcells.com/v1/tenants/capyplazo/credit-policy-adoption/1aa96dac-dd53-4462-9573-f2028dcab82d \
    -H "Authorization: $(capcells_sign "$CAPCELLS_API_KEY" GET /v1/tenants/capyplazo/credit-policy-adoption/1aa96dac-dd53-4462-9573-f2028dcab82d)"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "configuration_id": "1aa96dac-dd53-4462-9573-f2028dcab82d",
    "policy": "mx-base",
    "version": 1,
    "enforce_bar": false,
    "stated_at": "2026-08-29T11:30:21.363888Z"
  }
  ```

  ```json 404 Nothing adopted there theme={null}
  {
    "error": "risk: no policy version is adopted: capyplazo has adopted no policy version for configuration 1aa96dac-dd53-4462-9573-f2028dcab82d, and nothing is adopted by default -- the policy a tenant refuses its own clients under has to be one somebody at that tenant chose, and chose for that product",
    "code": "no_adoption"
  }
  ```
</ResponseExample>


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