Skip to Content
SimulatorsAnthropicManaged Agents

Simulators

Managed Agents

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:

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 lists what a Managed Agents request without the anthropic-beta header above returns.

Last updated on