Skip to main content
PATCH
Manage a runner

Authorizations

Authorization
string
header
required

Send a dashboard session token, an account API key (agt_t), or a command-line credential (afc_) as a Bearer token. Each endpoint lists accepted credential types.

Path Parameters

runner_id
string
required

Runner identifier (version 7 universally unique identifier, or UUID).

Body

application/json

PATCH /v1/fleets/runners/{id} body.

Either an action alone, or an edit: assigned_policy, labels, or both, applied together or not at all. Anything else is a 400.

action
enum<string> | null

A state transition, token rotation, or self-test request. Sent alone.

Available options:
cordon,
drain,
revoke,
rotate,
self_test
assigned_policy
object | null

A policy re-assignment, which reaches the host on its next heartbeat.

labels
string[] | null

Replaces all runner labels: at most 32 labels of 64 bytes each. Duplicates are removed in their original order. An empty list clears labels.

Response

OK

PATCH /v1/fleets/runners/{id} reply.

id
string
required

The runner that changed.

status
enum<string>
required

Its operator state after the change.

Available options:
active,
cordoned,
draining,
drained,
revoked
assigned_policy
object | null

The assignment as stored, on the policy-update path.

labels
string[] | null

The labels as stored, each once, when the request carried labels.

selftest_requested_at
string<date-time> | null

When the self-test was requested. The runner receives it on its next heartbeat and reports later; this timestamp does not indicate success.