# Managed Agents

The Managed Agents beta: agents that keep a version per update, environments, sessions that record the events you send, vaults with credentials and memory stores with versioned memories.

Managed Agents run an agent in a hosted environment, and the simulator keeps their records without running anything. Create an agent and an environment, update the agent into a new version, start a session and send it a message:

```bash
B=(-H 'x-api-key: sk-ant-placeholder' -H 'anthropic-version: 2023-06-01' -H 'anthropic-beta: managed-agents-2026-04-01' -H 'content-type: application/json')
curl -s "${B[@]}" "$RYSTIC_URL/v1/agents" -d '{"name":"Support agent","model":"claude-haiku-4-5-20251001"}' | jq -c '{id, name, version}'
# -> {"id":"agent_000000000000000000000001","name":"Support agent","version":1}
curl -s "${B[@]}" "$RYSTIC_URL/v1/agents/agent_000000000000000000000001" -d '{"version":1,"name":"Support agent v2"}' | jq -c '{name, version}'
# -> {"name":"Support agent v2","version":2}
curl -s "${B[@]}" "$RYSTIC_URL/v1/agents/agent_000000000000000000000001/versions" | jq -c '[.data[].version]'
# -> [2,1]
curl -s "${B[@]}" "$RYSTIC_URL/v1/environments" -d '{"name":"sandbox"}' | jq -c '{id, name}'
# -> {"id":"env_000000000000000000000001","name":"sandbox"}
curl -s "${B[@]}" "$RYSTIC_URL/v1/sessions" -d '{"agent":"agent_000000000000000000000001","environment_id":"env_000000000000000000000001","title":"Refund question"}' | jq -c '{id, status, title}'
# -> {"id":"sesn_000000000000000000000001","status":"idle","title":"Refund question"}
curl -s "${B[@]}" "$RYSTIC_URL/v1/sessions/sesn_000000000000000000000001/events" -d '{"events":[{"type":"user.message","content":[{"type":"text","text":"Where is my order?"}]}]}' | jq -c '[.data[].type]'
# -> ["user.message"]
curl -s "${B[@]}" "$RYSTIC_URL/v1/sessions/sesn_000000000000000000000001/events" | jq -c '[.data[].type]'
# -> ["user.message"]
```

### Agents, environments and sessions

Agents are created, read, updated and archived. Each update makes a new version, listed by `GET /v1/agents/{agent_id}/versions`. Environments are created, read, updated, archived and deleted. An archived agent or environment leaves its list unless you pass `include_archived=true`.

A session is created from an agent and an environment. It takes events on `POST /v1/sessions/{session_id}/events`, lists them and carries resources. The sessions' event stream and threads are not served.

**Differs from the Claude API:** a session only records the events you send. Nothing acts on them, and the session's `status` never reads `running`.

### Vaults

Vaults are created, read, updated, archived and deleted, and hold credentials the same way. A credential's secret is never read back. A response carries the credential's `auth` type and `mcp_server_url`, but not its token.

### Memory stores

A memory store is created, read, updated, archived and deleted. `POST /v1/memory_stores/{memory_store_id}/memories` writes a memory at a `path`, and memories are read and deleted by id. Each change is kept as a memory version. `GET /v1/memory_stores/{memory_store_id}/memory_versions` lists each version as `created` or `modified`, with its `path`. [Auth](https://www.rystic.ai/docs/simulators/anthropic.md#auth) lists what a Managed Agents request without the `anthropic-beta` header above returns.

---

Source: https://www.rystic.ai/docs/simulators/anthropic/features/managed-agents · Markdown: https://www.rystic.ai/docs/simulators/anthropic/features/managed-agents.md
