Claudio.ManagedAgents.Agents (Claudio v0.7.0)

View Source

Managed Agents agents (/v1/agents) — versioned agent configurations: model, system, tools, mcp_servers, skills, multiagent, description, metadata.

Beta managed-agents-2026-04-01, attached per request. Returns raw decoded bodies; see Claudio.ManagedAgents.

An update that changes something bumps "version"; omitted fields are kept, arrays are replaced, metadata merges per key. Pass the "version" you read as an optimistic-concurrency check — a stale one returns a 409 Claudio.APIError (:invalid_request_error). Agents are archived, never deleted.

{:ok, agent} = Agents.create(client, %{name: "researcher", model: "claude-opus-5-5"})
{:ok, agent} = Agents.update(client, agent["id"], %{version: agent["version"], system: "Be brief."})
{:ok, first} = Agents.get(client, agent["id"], version: 1)

Summary

Functions

Archives an agent (sets archived_at; there is no delete).

Creates an agent. name and model are required by the API.

Retrieves an agent — the latest version, or version: n.

Lists agents. Options: limit, page, include_archived, created_at: [gte: …, lte: …].

Lists an agent's versions, newest first. Options: limit, page.

Updates an agent (POST /v1/agents/{id}). Include version for a concurrency check.

Functions

archive(client, id)

Archives an agent (sets archived_at; there is no delete).

create(client, params)

Creates an agent. name and model are required by the API.

get(client, id, opts \\ [])

Retrieves an agent — the latest version, or version: n.

list(client, opts \\ [])

Lists agents. Options: limit, page, include_archived, created_at: [gte: …, lte: …].

list_versions(client, id, opts \\ [])

@spec list_versions(Req.Request.t(), String.t(), keyword()) ::
  Claudio.ManagedAgents.result()

Lists an agent's versions, newest first. Options: limit, page.

update(client, id, params)

Updates an agent (POST /v1/agents/{id}). Include version for a concurrency check.