Skip to main content
PATCH
Update user agent

Authorizations

Authorization
string
header
required

JWT authentication token

Path Parameters

agent_id
string
required

Your own agent's ID (kebab-case slug), or the UUID of a custom agent: one you own, or a team-shared agent you can run (the id GET /api/v1/agents returns for it).

Body

application/json

Only fields whose value differs from the agent's current value count as changes; a body with no change returns the agent without recording a version. A teammate with edit access (not the owner) may not change is_dynamic, install_commands or verify_commands (the setup commands run on every run with the runner's secrets in the environment); resending their current values is allowed. custom_tools, prereq_packages and require_env_vars are editable by anyone with edit access.

custom_tools
object[]
description
string
expected_config_version
integer

Optimistic concurrency check: the config_version you last read. When it is no longer current the update is rejected with 409 agent_version_conflict. Omit to update unconditionally.

Required range: x >= 1
install_commands
string[]
is_dynamic
boolean
name
string
native_tools
string[]
prereq_packages
string[]
require_env_vars
string[]
system_context
string
tags
string[]
verify_commands
string[]
when_to_use
string

Response

Agent updated

description
string
required
has_dynamic_tools
boolean
required
has_memory
boolean
required
id
string
required

Agent ID for user access (use with /agents/user/{agent_id})

name
string
required
tools_count
integer
required
type
enum<string>
required
Available options:
user
attached_toolkits
object[]

Dynamic toolkits attached to this agent (soft-deleted ones excluded). Filled on GET and PATCH of a single agent; omitted on list, create and visibility responses.

attached_tools
object[]

Single dynamic tools attached to this agent (soft-deleted tools and tools of soft-deleted toolkits excluded). Filled on GET and PATCH of a single agent; omitted on list, create and visibility responses.

can_edit
boolean

Whether the caller may edit this agent: always for the owner; for a team-shared agent, when its owner gave the caller edit access.

config_hash
string
config_version
integer
created_at
string<date-time>
custom_tools
object[]
custom_tools_count
integer
dependencies
object

What sharing this agent with its team shared or took back: its required secrets and attached toolkits. Present only on the visibility PATCH response; GET /api/v1/agents/user/{agent_id}/dependencies reads it at any time.

edit_access
enum<string>

Who besides the owner may edit a team-shared agent: owner nobody; team every active team admin or member; members the named editors. Viewers never edit.

Available options:
owner,
team,
members
editor_count
integer

Number of named editors. 0 unless edit_access is members. Omitted on list responses for an agent whose edit_access is members; GET the agent for the count.

fork_count
integer
has_installation_requirements
boolean
install_commands
string[]
is_owned
boolean

Whether the caller owns this agent.

native_tools
string[]
original_agent_id
string<uuid>
owner
object
prereq_packages
string[]
published_at
string<date-time>
require_env_vars
string[]
system_context
string
tags
string[]
team_id
string<uuid>

Team whose members can discover, run, and install this agent. Required for team visibility; omitted otherwise.

updated_at
string<date-time>
updated_by
object | null

Who made the latest change. Resolved by GET and PATCH of a single agent; null on other routes and when unknown.

uuid
string<uuid>

Directory entry ID

verify_commands
string[]
visibility
enum<string>
Available options:
public,
private,
unlisted,
team
when_to_use
string