---
title: "Get the readiness checklist"
method: GET
path: "/v1/recovery/readiness"
tags: ["Disaster Recovery"]
---

# Get the readiness checklist

`GET /v1/recovery/readiness`

## Request

- Base URL: `https://api.subscriby.net`
- URL: `https://api.subscriby.net/v1/recovery/readiness`
- Auth: HTTP bearer

```bash
curl https://api.subscriby.net/v1/recovery/readiness \
  -H "Authorization: Bearer $SUBSCRIBY_TOKEN"
```

The whole checklist the **Readiness** page shows, with its totals.

- `done` is three-valued: `true` or `false` when the platform can verify the line, `null` when it can only remind (`reminder: true`). Reminders never count toward `total`.
- `locked` says the plan lacks the prevention feature the line needs, so a client shows the upgrade rather than the fix; `prevention` at the top says whether the plan bundles those features at all.
- `url` is where the line is fixed, or `null` for a reminder. `detail` is the state in words, such as "2 of 3 projects".
- `connector` names the connector a line belongs to (`connector_name` is its display name); both are `null` for the account's own lines.

The lines are the ones the dashboard lists, in the same order. The account's come first: `second_factor` and `backup_identity`. Then each installed connector's own lines, worded by that connector and keyed within it; Telegram's are `standby_installation`, `standby_spaces`, `auto_failover` and `live_mirror`, one line per key however many projects run it (the detail counts the projects when they differ). Last the two reminders, `off_platform_copy` and `second_admin`. A creator with no connector installed gets the account lines and the reminders alone. Every change to a verifiable line's state raises `recovery.readiness_changed`.

## Response `200`

200 with the checklist.

- object
  - `data` RecoveryReadinessResource, required: The whole Disaster Recovery readiness checklist for one creator, with the totals the dashboard card shows.
    - `prevention` boolean, required: Whether the plan bundles the prevention features the checklist checks.
    - `completed` integer, required: How many verifiable lines are done.
    - `total` integer, required: How many lines are verifiable; reminders never count.
    - `complete` boolean, required: True when every verifiable line is done.
    - `items` unknown[], required: The lines, in the order the dashboard lists them: the account's first, then each installed connector's, then the two reminders.
      - unknown

## Other responses

- `401`: `AUTHENTICATION_REQUIRED`: the request carries no bearer token, or one that is revoked, malformed, or minted for another environment (an `sbt_test_` token on production).
- `403`: `TOKEN_MISSING_ABILITY`: the token is valid but does not carry the ability this endpoint requires; `error.context.required_ability` names the one to grant. An endpoint that also checks who owns a row or which tier the account is on answers `FORBIDDEN`, `TEAM_TIER_REQUIRED` or `CONNECTOR_TIER_REQUIRED` with the same status, and says so in its own description.
- `429`: `RATE_LIMITED`: the token has spent its 300 requests a minute or 10,000 an hour; `Retry-After` says when the next one is accepted.

---

[API](https://skmtc.dev/memberpass/apis/subscriby-rest-api.md) · [All operations](https://skmtc.dev/memberpass/apis/subscriby-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/memberpass/apis/subscriby-rest-api/revisions/7b538e472e9a?raw)
