---
title: "Update agent metadata"
method: PATCH
path: "/agent/{id}"
tags: ["Agents"]
---

# Update agent metadata

`PATCH /agent/{id}`

Update agent fields. Behavior depends on whether the agent has versioning enabled:

**Versioned agents** (have an active published version): only metadata fields are accepted —
`name`, `description`, `avatarUrl`, `telephonyProductId`, `allowInboundCall`, `visibleToEveryone`.
Submitting any config-level field returns 400 with
`"Agent has versioning enabled. Config changes must be made through drafts."`.
Use `PATCH /agent/{id}/drafts/{draftId}/config` instead.

**Non-versioned agents** (no active version): all configuration fields are accepted,
the same full set as `POST /agent`.

**400 is also returned when a cross-field constraint is violated** (for example, `north_indic` language requires `transcriberType: pulse`).

**403** is returned when selecting a gated model (`gpt-5.2`, `electron-kogta`, `electron-kogta-v2`)
without org-level access.

## Path parameters

- `id` string, required

## Request body

- UpdateAgentRequest — Agent update payload. Behavior depends on whether the agent has versioning enabled: **Versioned agents**: only the metadata fields below are accepted. Config-level fields (language, synthesizer, slmModel, etc.) return 400. **Non-versioned agents**: all configuration fields are accepted — the same full set as `POST /agent` (see `CreateAgentRequest`).
  - `name` string — Name of the agent.
  - `description` string — Description of the agent.
  - `avatarUrl` string — URL of the agent's avatar image.
  - `telephonyProductId` string[] — IDs of telephony products (phone numbers) to associate with the agent.
  - `allowInboundCall` boolean — Whether the agent accepts inbound calls.
  - `visibleToEveryone` boolean — Whether the agent is visible to all members of the organization.

## Response `200`

Agent updated successfully

- object
  - `status` boolean
  - `data` string — The ID of the updated agent

## Other responses

- `400` — Invalid input
- `401` — Unauthorized access
- `403` — Forbidden access
- `404` — Agent not found
- `500` — Internal server error

---

[API](https://skmtc.net/smallest-inc/apis/agent-management-api.md) · [All operations](https://skmtc.net/smallest-inc/apis/agent-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smallest-inc/agent-management-api/versions/6d1036a76fbc/schema)
