---
title: "Update revision config (any revision, in place)"
method: PATCH
path: "/v1/assistants/{agent_id}/revisions/{revision_id}"
tags: ["assistants"]
---

# Update revision config (any revision, in place)

`PATCH /v1/assistants/{agent_id}/revisions/{revision_id}`

Apply config updates to any revision in place.

## Path parameters

- `agent_id` string, uuid, required
- `revision_id` string, uuid, required

## Request body

- RevisionConfigUpdate — Request body for PATCH /assistants/{id}/revisions/{rid} — edit any revision. A subset of the behavioral fields that live on AgentRevision. ``base_version`` is the optimistic-concurrency version of the revision. If supplied, the revision's ``version`` column must match; a mismatch raises ConflictError (409). ``extra=forbid``: unknown or removed fields return 422.
  - `base_version` integer, nullable
  - `persona` string, nullable
  - `system_prompt` string, nullable
  - `system_context_variables` SystemContextVariableSpec[], nullable
    - `name` string, required
    - `type` 'string' | 'int' | 'float' | 'bool' | 'enum', required
    - `enum_values` string[], nullable
    - `description` string, nullable
  - `context_variables` LegacySystemContextVariableSpec[], nullable — Deprecated alias for system_context_variables.
    - `name` string, required
    - `type` 'string' | 'int' | 'float' | 'bool' | 'enum', required
    - `enum_values` string[], nullable
    - `description` string, nullable
    - `source` 'system', nullable
    - `reask_cap` unknown
  - `variable_defaults` object, nullable
  - `channel_specific_config` object, nullable
  - `router_config_id` string, uuid, nullable
  - `model_settings` ModelChainEntry
    - `model` string, required
    - `config` ModelConfig
      - `temperature` number, nullable
      - `max_tokens` integer, nullable
      - `top_p` number, nullable
      - `stop_sequences` string[], nullable
      - `reasoning_effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max', nullable
      - `request_timeout_ms` integer, nullable
      - `thinking_budget` integer, nullable
  - `analyzer_model_settings` ModelChainEntry
    - `model` string, required
    - `config` ModelConfig
      - `temperature` number, nullable
      - `max_tokens` integer, nullable
      - `top_p` number, nullable
      - `stop_sequences` string[], nullable
      - `reasoning_effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max', nullable
      - `request_timeout_ms` integer, nullable
      - `thinking_budget` integer, nullable
  - `workflow_enabled` boolean — Run the stored workflow for this revision. Omitted leaves it unchanged; explicit null is invalid.
  - `memory_enabled` boolean — Enable semantic memory recall and ingestion for this revision.
  - `current_time` CurrentTimeSettings — One tier's optional current-time overrides. ``None`` means inherit for that field. An empty object therefore clears the tier and inherits both values. The API stores only non-null fields.
    - `enabled` boolean, nullable
    - `timezone` string, nullable
  - `kb_clearance_level` integer, nullable
  - `kb_audience_tags` string[], nullable
  - `tool_refs` ToolRef[], nullable
    - `kind` 'api' | 'integration' | 'util' | 'kb', required
    - `id` string, nullable
    - `slug` string, nullable
    - `output_bindings` object, nullable
    - `input_defaults` object, nullable
  - `knowledge_base_refs` KnowledgeBaseRef[], nullable
    - `id` string, required
    - `description` string, nullable
    - `clearance_level` integer, nullable
  - `platform_tools` object, nullable
  - `continue_after_flow` boolean, nullable

## Response `200`

Successful Response

- RevisionResponse — Response for revision create/update — the revision + optimistic version.
  - `revision` AgentRevisionResponse, required
    - `id` string, uuid, required
    - `agent_id` string, uuid, required
    - `name` string, required
    - `description` string, nullable
    - `persona` string, nullable
    - `system_prompt` string, nullable
    - `context_variables` ContextVarSpec[], nullable — Deprecated legacy projection; contains assistant SYSTEM declarations only. Use system_context_variables.
      - `name` string, required
      - `type` 'string' | 'int' | 'float' | 'bool' | 'enum', required
      - `source` 'system' | 'derived'
      - `enum_values` string[], nullable
      - `reask_cap` integer, nullable
      - `description` string, nullable
    - `variable_defaults` object, nullable
    - `tool_refs` object[], nullable
    - `knowledge_base_refs` object[], nullable
    - `platform_tools` object
    - `policies_enabled` boolean
    - `policy_refs` object[], nullable
    - `channel_specific_config` object, nullable
    - `router_config_id` string, uuid, nullable
    - `model_settings` ModelChainEntry
      - `model` string, required
      - `config` ModelConfig
        - `temperature` number, nullable
        - `max_tokens` integer, nullable
        - `top_p` number, nullable
        - `stop_sequences` string[], nullable
        - `reasoning_effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max', nullable
        - `request_timeout_ms` integer, nullable
        - `thinking_budget` integer, nullable
    - `analyzer_model_settings` ModelChainEntry
      - `model` string, required
      - `config` ModelConfig
        - `temperature` number, nullable
        - `max_tokens` integer, nullable
        - `top_p` number, nullable
        - `stop_sequences` string[], nullable
        - `reasoning_effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max', nullable
        - `request_timeout_ms` integer, nullable
        - `thinking_budget` integer, nullable
    - `workflow_enabled` boolean
    - `memory_enabled` boolean
    - `current_time` CurrentTimeSettings — One tier's optional current-time overrides. ``None`` means inherit for that field. An empty object therefore clears the tier and inherits both values. The API stores only non-null fields.
      - `enabled` boolean, nullable
      - `timezone` string, nullable
    - `kb_clearance_level` integer, nullable
    - `kb_audience_tags` string[]
    - `continue_after_flow` boolean, nullable
    - `voice_call_settings` object, nullable
    - `created_by` string, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `published_at` string, date-time, nullable
    - `system_context_variables` SystemContextVariableSpec[], nullable, required — Assistant-owned immutable inputs. Derived variables belong to workflows.
      - `name` string, required
      - `type` 'string' | 'int' | 'float' | 'bool' | 'enum', required
      - `enum_values` string[], nullable
      - `description` string, nullable
  - `version` integer
  - `prompt_findings` ValidationFinding[] — Non-blocking authoring diagnostics for assistant persona/system-prompt mentions. Error severity does not mean an ordinary draft write failed; activation and active-revision updates block until these findings resolve.
    - `severity` 'error' | 'warning' | 'suggestion', required
    - `rule_id` string, required
    - `category` string, required
    - `message` string, required
    - `node_id` string, nullable
    - `edge_id` string, nullable
    - `related_node_ids` string[]
    - `related_edge_ids` string[]
    - `source_span` SourceSpan — Byte/character span into the original instruction markdown. ``start_line``/``end_line`` are 1-indexed; columns are 0-indexed. The optional ``raw_text_excerpt`` carries a small slice for human-readable error messages without forcing readers to re-open the source.
      - `start_line` integer, required
      - `start_col` integer, required
      - `end_line` integer, required
      - `end_col` integer, required
      - `raw_text_excerpt` string, nullable
    - `suggested_fix` string, nullable
    - `related_spans` SourceSpan[]
      - `start_line` integer, required
      - `start_col` integer, required
      - `end_line` integer, required
      - `end_col` integer, required
      - `raw_text_excerpt` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/9cd7291d4228/schema)
