Review an exact prior Live configuration
const url = 'https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/agent-rollbacks/reviews';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', 'X-Katara-CSRF': '1', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"environment":{"org_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","environment_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","mode":"live","organization_epoch":1,"authority_epoch":1,"reset_generation":1},"agent_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","subject_epoch":1,"current_version":{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","version":"example","integrity":"example"},"restore_version":{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","version":1,"integrity":"example"},"grants":[{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","audience":"katara:synapse","authority_epoch":1}],"funding":{"payer_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","consent_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","budget_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","limit":{"ledger_kind":"real","asset":"CREDIT_ATOMIC","scale":9,"amount":"example"},"purpose_caps":{"inference":"example","tool":"example","service":"example","sandbox":"example","evaluation":"example"}}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/agent-rollbacks/reviews \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --header 'X-Katara-CSRF: 1' \ --data '{ "environment": { "org_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "environment_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "mode": "live", "organization_epoch": 1, "authority_epoch": 1, "reset_generation": 1 }, "agent_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "subject_epoch": 1, "current_version": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "version": "example", "integrity": "example" }, "restore_version": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "version": 1, "integrity": "example" }, "grants": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "audience": "katara:synapse", "authority_epoch": 1 } ], "funding": { "payer_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "consent_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "budget_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "limit": { "ledger_kind": "real", "asset": "CREDIT_ATOMIC", "scale": 9, "amount": "example" }, "purpose_caps": { "inference": "example", "tool": "example", "service": "example", "sandbox": "example", "evaluation": "example" } } }'Requires a signed-in human owner session in the selected Live environment. API keys, service accounts and workloads are refused. Query parameters are rejected and responses are no-store. Rollback restores an exact prior approved immutable definition as a new monotonically increasing publication; it never moves a deployment pointer or restores historical authority. Current source, model, tool, collection, policy, grant, funded consent and head-version checks remain mandatory. Pins the current head and exact prior version with approved publication provenance. A broken current head does not permit a revoked or unavailable restore source.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Browser cookie mutations require value 1 and an allowed Origin. Session bearer clients may omit this header.
Required for cookie-authenticated changes. Use the UUID of the account that loaded the application. A different current cookie account returns account_changed before the handler runs. Session bearer and API key clients do not require this header.
Request Bodyrequired
Section titled “Request Bodyrequired”Live owner request. Restore must be an earlier distinct version of the same agent with approved publication provenance. Every selected grant authority epoch must match subject_epoch; current grant coverage, consent and funding are independently verified.
object
object
object
object
object
The selected immutable grant leaf agent_epoch, fenced to the target agent subject epoch.
object
object
object
Responses
Section titled “Responses”Successful request
The target copies the exact restored definition into current_version.version + 1 with a new immutable version ID. Review does not publish.
object
Live owner request. Restore must be an earlier distinct version of the same agent with approved publication provenance. Every selected grant authority epoch must match subject_epoch; current grant coverage, consent and funding are independently verified.
object
object
object
object
object
The selected immutable grant leaf agent_epoch, fenced to the target agent subject epoch.
object
object
object
object
object
object
object
object
object
object
object
The API also checks steps <= decisions, plan changes <= decisions, active and approval seconds <= elapsed seconds, and children/depth are either both zero or both positive. Structured output is a JSON envelope; larger artifacts use content references. Active time includes Activity scheduling, retries and execution. Approval waits consume the cumulative approval and elapsed limits; ordinary delays consume elapsed time only. Counters survive continuation.
object
object
object
object
object
object
object
object
The API also checks steps <= decisions, plan changes <= decisions, active and approval seconds <= elapsed seconds, and children/depth are either both zero or both positive. Structured output is a JSON envelope; larger artifacts use content references. Active time includes Activity scheduling, retries and execution. Approval waits consume the cumulative approval and elapsed limits; ordinary delays consume elapsed time only. Counters survive continuation.
object
object
object
object
object
object
object
object
object
The API also checks steps <= decisions, plan changes <= decisions, active and approval seconds <= elapsed seconds, and children/depth are either both zero or both positive. Structured output is a JSON envelope; larger artifacts use content references. Active time includes Activity scheduling, retries and execution. Approval waits consume the cumulative approval and elapsed limits; ordinary delays consume elapsed time only. Counters survive continuation.
object
object
object
object
object
object
object
object
The API also checks steps <= decisions, plan changes <= decisions, active and approval seconds <= elapsed seconds, and children/depth are either both zero or both positive. Structured output is a JSON envelope; larger artifacts use content references. Active time includes Activity scheduling, retries and execution. Approval waits consume the cumulative approval and elapsed limits; ordinary delays consume elapsed time only. Counters survive continuation.
object
Example
{ "request": { "environment": { "mode": "live" }, "grants": [ { "audience": "katara:synapse" } ], "funding": { "limit": { "ledger_kind": "real", "asset": "CREDIT_ATOMIC", "scale": 9 } } }, "restore": { "bundle": { "definition": { "schema_version": 1, "instructions_ref": { "media_type": "text/plain" }, "model_policy": { "mode": "cortex" }, "input_schema_ref": { "media_type": "application/json" }, "output_schema_ref": { "media_type": "application/json" } }, "schema_profile": "json-schema-2020-12/v1" } }, "target": { "bundle": { "definition": { "schema_version": 1, "instructions_ref": { "media_type": "text/plain" }, "model_policy": { "mode": "cortex" }, "input_schema_ref": { "media_type": "application/json" }, "output_schema_ref": { "media_type": "application/json" } }, "schema_profile": "json-schema-2020-12/v1" } }}Headers
Section titled “Headers”Account_changed: reload and review with the signed-in account.
default
Section titled “default”Request error
object
object
Stable; branch on it. Any operation can answer invalid_request, with param naming the refused field when there is one; human_session_required, when an API key, service account or workload calls an operation only a signed-in person may perform; reauthentication_required, when a person’s sign-in is too old for the operation; permission_denied; route_not_found and method_not_allowed, when no operation matches the path or method; and feature_unavailable, when the operation’s service is not enabled on this deployment.
The request field a refusal is about, such as the agent_id or run_id query parameter; null when the refusal is not about one field.
Example
{ "error": { "action": "sign_in" }}