Revert an agent
Makes a past version’s configuration the agent’s new draft. Nothing changes for callers until you publish. Send If-Match and an Idempotency-Key.
Scopes: agent:write
Authorizations
An API key from Settings → API keys, sent as Authorization: Bearer kb_live_…. A workspace key starts kb_; a personal key starts kbp_ and acts as its owner.
Headers
The revision you read (its ETag, an integer in quotes such as "7"), so a stale write is refused with 412. Required: a write without it is refused with 428.
^(W/)?"?[0-9]+"?$"\"7\""
A unique key (a UUID works) for this request. Retrying with the same key returns the first answer instead of running twice.
255The API version to answer as, a date (YYYY-MM-DD). Leave it out for the current version (2026-11-07). An unknown version is refused with 400 unsupported_api_version.
2026-11-07 "2026-11-07"
Response
Successful Response
The agent's id.
The agent's display name.
A stable, URL-safe name, unique in the workspace; survives renames.
draft (never published), active (live), suspended (paused by Kallabot) or archived.
draft, active, suspended, archived Whether it answers calls, makes them, or both.
inbound, outbound, both Bumped on every change. Send it back as If-Match on a write.
True when a draft differs from what callers hear.
Calls this agent has handled.
When it was created (ISO 8601).
When it last changed (ISO 8601).
What this key may do to this agent.
The agent's configuration (the draft when one exists, else the live one). Secrets are redacted.
A fingerprint of config.
The configuration schema version.
The version callers hear; null before the first publish.
The unpublished version being edited, if any.
The person who owns it, if any.
The team it belongs to, if any.
Free-form labels.
When it last handled a call (ISO 8601).
Validation findings for config.