Skip to main content
Managed agents · for developers

Create an agent with a persona and tool allowlist, open sessions from your backend, stream replies over SSE - with optional sandbox jobs that build deliverables headless.

Architecture

Four hops from your backend to a running agent.

Your backend calls with a scoped key; the API isolates the session by app_id, loads the persona and allowlist, and streams. The same harness that runs the workspace runs your agent.

Your backendYour stack
One POST per session - no SDK lock-in
API keyScoped
Auth + metering, isolated by app_id
managed-agents v1Sessions · SSE
CRUD agents, stream messages, run headless
Agent harnessPersona · tools
Sandbox jobs optional - deliverables filed to storage
What each agent carries

Persona & allowlist

Voice, instructions, and exactly the tools this agent may call - nothing more.

Assist mode (SSE)

Replies stream token by token into your UI - the same loop your users see in chat.

Sandbox deliverables

Optional headless jobs build documents and reports, filed back to storage.

Session isolation

Every session scoped by app_id. No context crosses between your apps or tenants.

API surface
POST/v1/managed-agents/agentsCreate an agent - persona, model, tool allowlist
GET/v1/managed-agents/agents/{id}Read or update configuration; rotate keys
POST/v1/managed-agents/sessionsOpen an isolated session for one end user
POST/v1/managed-agents/sessions/{id}/messagesSend a message; the reply streams back over SSE
POST/v1/managed-agents/runsHeadless run - no session, deliverable to storage
Ship it

Two curls to a streaming session.

Create the agent once, open sessions per user. Everything the agent does shows up in the console - sessions, runs, credits, and the last time it spoke.

Full API reference
# 1 - create the agent
curl -X POST /v1/managed-agents/agents \
 -H "Authorization: Bearer sk_live_…" \
 -d '{ "persona": "concierge-v3",
     "tools": ["storage", "web"] }'

# 2 - open a session, stream messages
curl -N -X POST /v1/managed-agents/sessions \
 -d '{ "agent_id": "agt_91xk", "app_id": "acme-web" }'

event: message.delta
data: {"text": "Welcome back - let's finish setup…"}

Onboarding concierge

Managed agent

Active
PersonaConcierge · v3
ModelClaude · Bedrock
Tools4 allowed
Isolationapp_id: acme-web
Session #8,112 streaming via SSE6 min ago

412

sessions this week

Run #442 finished

deliverable saved to storage

Your product's agent, running tonight.

Get API keys after sign-in, or talk to us about enterprise isolation and residency.

Or email contact@sundaypyjamas.com - a founder replies.