---
title: "Update catalog entry"
method: PUT
path: "/v3/agent-catalog/{entry_id}"
tags: ["agent-catalog"]
---

# Update catalog entry

`PUT /v3/agent-catalog/{entry_id}`

## Request

- Base URL: `https://api.mentium.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mentium.io/v3/agent-catalog/{entry_id}`
- Auth: HTTP bearer

Update a catalog entry. SUPER_ADMIN only.

## Path parameters

- `entry_id` string, uuid, required

## Request body

- AgentCatalogEntryUpdateRequest: Request schema for updating a catalog entry. All fields are optional via exclude_unset — omit a field to leave it unchanged, send a value (including explicit null for nullable fields) to update it. Non-null DB fields reject explicit null in the service layer.
  - `name` string, nullable: Template name
  - `description` string, nullable: Template description
  - `model` string, nullable: LLM model identifier
  - `system_prompt_template` string, nullable: System prompt template
  - `user_prompt_template` string, nullable: User prompt template
  - `temperature` number, nullable: LLM temperature
  - `max_tokens` integer, nullable: Maximum output tokens
  - `reasoning_effort` string, nullable: Reasoning effort level
  - `tools` string[], nullable: Tool identifiers
  - `type_config` object, nullable: Type-specific configuration
  - `is_published` boolean, nullable: Whether the entry is visible to non-admin users
  - `is_system_agent` boolean, nullable: System agents are installed into workspaces and appear in the Chat agent picker

## Response `200`

Successful Response

- AgentCatalogEntryResponse: Response schema for a single catalog entry. Mirrors AIAgentResponse for draft handling: has_draft + draft expose any unpublished changes so the same lifecycle adapter can drive both flows.
  - `id` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `agent_type` string, required
  - `model` string, required
  - `system_prompt_template` string, required
  - `user_prompt_template` string, nullable, required
  - `temperature` number, nullable, required
  - `max_tokens` integer, nullable, required
  - `reasoning_effort` string, nullable, required
  - `tools` string[], required
  - `type_config` object, nullable, required
  - `is_published` boolean, required
  - `is_system_agent` boolean: True when the entry is a system agent installed into workspaces for Chat.
  - `created_by_user_id` string, required
  - `source_agent_id` string, nullable, required
  - `source_organization_id` string, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `has_draft` boolean: True when the entry has unpublished draft changes.
  - `draft` object, nullable: Staged draft changes parsed from the draft row's YAML.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/mentium/apis/mentium-api.md) - [All operations](https://skmtc.dev/mentium/apis/mentium-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mentium/apis/mentium-api/revisions/b4ed8e59432e?raw)
