---
title: "Update Agent"
method: PATCH
path: "/v1/agents/{agent_id}"
tags: ["v1", "protected", "agents"]
---

# Update Agent

`PATCH /v1/agents/{agent_id}`

Update an agent.

## Path parameters

- `agent_id` string, uuid, required

## Request body

- AgentUpdate — Patch payload for an agent. All fields optional — unset = unchanged.
  - `a2ui_enabled` boolean, nullable
  - `agent_type` 'stateless' | 'stateful', nullable
  - `capabilities` string[], nullable
  - `description` string, nullable
  - `events_config` EventsConfig — Per-agent event subscriptions.
    - `events` EventConfig[], nullable
      - `config` object, nullable — Event-specific configuration.
      - `enabled` boolean — Whether this subscription is active.
      - `event_type` string, required — Event type the agent listens to.
  - `instruction` string, nullable
  - `model_id` string, nullable
  - `name` string, nullable
  - `planning` boolean, nullable
  - `skill_ids` string[], nullable
  - `tools` ToolConfigYAML[], nullable
    - `name` string, required
    - `settings` ToolSettingsYAML — Tool settings configuration in YAML format.
      - `a2a_url` string, nullable
      - `allowed_tools` unknown[], nullable
        - unknown
      - `description_override` string, nullable
      - `disabled_methods` string[], nullable
      - `openapi_connection_id` string, nullable
      - `requires_user_confirmation` boolean, nullable
    - `type` 'code' | 'mcp' | 'agent' | 'openapi', required

## Response `200`

Successful Response

- AgentResponse
  - `a2ui_enabled` boolean, nullable
  - `agent_type` string
  - `description` string, nullable
  - `events_config` object, nullable
  - `id` string, uuid, required
  - `instruction` string, nullable
  - `model_id` string, nullable
  - `name` string, required
  - `planning` boolean, nullable
  - `skills` object[], nullable
  - `status` string, required
  - `tools` ToolConfigYAML[], nullable
    - `name` string, required
    - `settings` ToolSettingsYAML — Tool settings configuration in YAML format.
      - `a2a_url` string, nullable
      - `allowed_tools` unknown[], nullable
        - unknown
      - `description_override` string, nullable
      - `disabled_methods` string[], nullable
      - `openapi_connection_id` string, nullable
      - `requires_user_confirmation` boolean, nullable
    - `type` 'code' | 'mcp' | 'agent' | 'openapi', required

## Other responses

- `422` — Validation Error

## Changes

- **2026-04-29** `e1a530c0a2d5` — 3 breaking, 4 warning, 5 info
  - the `name/anyOf[subschema #1]/` request property's minLength was increased from `0` to `1`
  - the `tools/anyOf[subschema #1]/items/settings/anyOf[subschema #1: ToolSettingsYAML]/allowed_tools/anyOf[subschema #1]/items/` request property type/format changed from `string`/`` to ``/``
  - the `tools/anyOf[subschema #1]/items/settings/anyOf[subschema #1: ToolSettingsYAML]/allowed_tools/anyOf[subschema #1]/items/` response's property type/format changed from `string`/`` to ``/`` for status `200`
  - the `description/anyOf[subschema #1]/` request property's maxLength was set to `1000`
  - …8 more
- **2026-03-30** `e9c153221160` — 7 breaking, 5 warning, 8 info
  - added the new required request property `tools/anyOf[subschema #1]/items/name`
  - added the new required request property `tools/anyOf[subschema #1]/items/type`
  - for the `path` request parameter `agent_id`, the type/format was changed from `string`/`` to `string`/`uuid`
  - removed `#/components/schemas/CodeToolConfig, #/components/schemas/McpToolConfig-Input, #/components/schemas/AgentToolConfig, #/components/schemas/OpenApiToolConfig` from the `tools/anyOf[subschema #1]/items/` request property `oneOf` list
  - …16 more

[Change history](https://skmtc.dev/agentarea/apis/agentarea-api/changes/v1/agents/:agent_id/patch.md)

---

[API](https://skmtc.dev/agentarea/apis/agentarea-api.md) · [All operations](https://skmtc.dev/agentarea/apis/agentarea-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/agentarea/agentarea-api/revisions/e1a530c0a2d5/schema)
