---
title: "Read this node's recovery status"
method: GET
path: "/api/recovery/node"
tags: ["Recovery"]
---

# Read this node's recovery status

`GET /api/recovery/node`

## Request

- Base URL: `https://localhost:1852`
- URL: `https://localhost:1852/api/recovery/node`
- Auth: HTTP bearer

Returns this node's recovery contract version and whether it can create and
restore volume recovery points, with the reason when it cannot. The `operationId`
echoes the dispatch id a control instance sent, so a caller can match the answer
to its request. A node that predates this route answers `404`, which a control
instance reads as an update being required.

## Headers

- `x-node-id` integer

## Response `200`

This node's recovery descriptor.

- object
  - `contractVersion` integer, required
  - `volumeProtection` RecoveryVolumeProtection, required: Whether a node can create and restore volume recovery points, and why not. A node reports `available` or `unavailable` about itself; `update_required` and `unknown` are the control instance's conclusions about a remote node.
    - `capability` string, required
    - `version` integer, required
    - `state` 'available' | 'unavailable' | 'update_required' | 'unknown', required
    - `reason` string, required: `engine_registered` when available. When unavailable: `engine_not_installed`, `schema_newer_than_build`, `recovery_store_unavailable`, `engine_starting`, `helper_unavailable`, `repository_not_initialized`, `repository_unavailable`, `repository_key_unavailable`. When update_required: `node_contract_older` or `hub_contract_older`. When unknown: `node_unreachable`, `node_refused`, `node_error`, `descriptor_invalid`, `descriptor_mismatch`.
  - `operationId` string, nullable, required: The dispatch id a control instance sent, echoed back, or null for a direct call.

## Other responses

- `401`: Authentication required. Provide a valid Bearer token.
- `403`: Insufficient permissions or license tier.
- `500`: Internal server error.

## Changes

- **2026-11-02** `1f7572eb735f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/studio-saelix/apis/sencho-api/changes/api/recovery/node/get.md)

---

[API](https://skmtc.dev/studio-saelix/apis/sencho-api.md) - [All operations](https://skmtc.dev/studio-saelix/apis/sencho-api/llms.txt) - [OpenAPI document](https://skmtc.dev/studio-saelix/apis/sencho-api/revisions/bb1a37e1ed3b?raw)
