---
title: "Renew a claim lease"
method: POST
path: "/v1/indexer/work/{runId}/heartbeat"
tags: ["Indexer work"]
---

# Renew a claim lease

`POST /v1/indexer/work/{runId}/heartbeat`

## Request

- Base URL: `https://brain.inite.ai`
- URL: `https://brain.inite.ai/v1/indexer/work/{runId}/heartbeat`
- Auth: HTTP bearer

Extends the lease of a claimed work item. Part of the document pipeline — answers `503 feature_disabled` until `DOCUMENT_INGEST_ENABLED=1`.

Required scope: `indexer:write`.

## Path parameters

- `runId` string, required

## Request body

- HeartbeatWorkRequest
  - `claimToken` string, required

## Response `201`

The renewed lease.

- HeartbeatWorkResponse
  - `leaseSeconds` integer, required
  - `runId` string, required

## Other responses

- `401`: Missing or unknown bearer key.
- `403`: The key lacks the required scope.
- `404`: No such resource in this tenant.
- `409`: State conflict — e.g. a lost/mismatched claim token, an already claimed work item, or an immutable-version republish.
- `503`: The document pipeline is dark (DOCUMENT_INGEST_ENABLED off).

---

[API](https://skmtc.dev/inite/apis/inite-brain-platform-api.md) · [All operations](https://skmtc.dev/inite/apis/inite-brain-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inite/apis/inite-brain-platform-api/revisions/c7c3eb5e304b?raw)
