Skip to main content
POST
Create user agent

Authorizations

Authorization
string
header
required

JWT authentication token

Body

application/json
agent_id
string
required

Unique agent ID (kebab-case)

name
string
required
system_context
string
required

System prompt for the agent

custom_tools
object[]
description
string
install_commands
string[]
is_dynamic
boolean
default:true
native_tools
string[]

List of native tool IDs to include

prereq_packages
string[]
require_env_vars
string[]
tags
string[]
verify_commands
string[]
when_to_use
string

When this agent should be triggered

Response

Agent created

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