---
title: "Node Heartbeat"
method: POST
path: "/cluster/nodes/{node_id}/heartbeat"
---

# Node Heartbeat

`POST /cluster/nodes/{node_id}/heartbeat`

## Request

- Base URL: `http://127.0.0.1:8052`
- URL: `http://127.0.0.1:8052/cluster/nodes/{node_id}/heartbeat`
- Auth: none declared

Record a heartbeat from a cluster node.

## Path parameters

- `node_id` string, required

## Request body

- NodeHeartbeatRequest: Body for POST /cluster/nodes/{node_id}/heartbeat.
  - `capacity` NodeCapacitySchema: Advertised capacity of a cluster node.
    - `max_agents` integer
    - `available_slots` integer
    - `active_agents` integer
    - `gpu_available` boolean
    - `supported_models` string[]

## Response `200`

Successful Response

- NodeResponse: Serialised node in API responses.
  - `id` string, required
  - `name` string, required
  - `url` string, required
  - `status` string, required
  - `capacity` NodeCapacitySchema, required: Advertised capacity of a cluster node.
    - `max_agents` integer
    - `available_slots` integer
    - `active_agents` integer
    - `gpu_available` boolean
    - `supported_models` string[]
  - `last_heartbeat` number, required
  - `registered_at` number, required
  - `labels` object, required
  - `cell_ids` string[], required

## Other responses

- `401`: Cluster authentication failed
- `404`: Node not registered
- `422`: Validation Error

---

[API](https://skmtc.dev/bernstein/apis/bernstein-task-server.md) · [All operations](https://skmtc.dev/bernstein/apis/bernstein-task-server/llms.txt) · [OpenAPI document](https://skmtc.dev/bernstein/apis/bernstein-task-server/revisions/2a20a34ad2eb?raw)
