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

# Node Heartbeat

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

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.net/sipyourdrink-ltd/apis/bernstein-task-server.md) · [All operations](https://skmtc.net/sipyourdrink-ltd/apis/bernstein-task-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sipyourdrink-ltd/bernstein-task-server/versions/86f514b4e920/schema)
