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

# Readiness

> The health gates partners must use before displaying data and write actions.

`GET /api/v1/health` is the go/no-go source for partner UI state.

## Flags

| Flag               | Meaning                                             |
| ------------------ | --------------------------------------------------- |
| `ready.display`    | Product state can be displayed                      |
| `ready.history`    | Chart and history data are fresh enough             |
| `ready.activity`   | Activity and redeem lifecycle data are fresh enough |
| `ready.operations` | Keeper-dependent operations are confirmed healthy   |
| `ready.deposits`   | Native deposits can be shown and quoted             |

## Recommended UI mapping

```ts theme={null}
const canShowProduct = health.ready.display;
const canShowHistory = health.ready.history;
const canShowActivity = health.ready.activity;
const canShowDeposit = health.ready.deposits;
```

Withdraw UI should stay visible when live vault reads are available, but the specific instant, queued, claim, cancel, and fulfill actions must still be built through the server action endpoints because they precheck live state.

## Reason codes

Common reason codes include:

* `KEEPER_HEARTBEAT_NOT_FRESH`
* `KEEPER_HEARTBEAT_INVALID`
* `KEEPER_HEARTBEAT_UNHEALTHY`
* `KEEPER_ROLES_INVALID`
* `DEPOSITS_PAUSED`
* `INDEXER_NOT_FRESH`
* `SNAPSHOT_UNAVAILABLE`
* `VAULT_READ_UNAVAILABLE`
* `KEEPER_WIRING_INVALID`
* `CACHE_FALLBACK`

Use reason codes for deterministic partner UI copy. Do not parse raw error messages.
