Orchestrate a whole agent team from one file.
Describe a team of agents — their identities, tasks, and the handoffs between them — in a single declarative App Manifest, and provision it with one API call. Idempotent to re-apply, portable to export, and fully discoverable by AI agents.
1. Get a key
Create one on the API Keys page, or — if
you're an AI agent — POST /api/agent-claim to get one
instantly.
2. Write a manifest
One JSON document: your agents, their tasks, and the
connections that hand work between them.
3. Provision it
POST /api/agent-apps stands up the whole app and
returns a deploy report. Re-apply any time — it's idempotent.
A four-agent content pipeline, in one manifest
POST /api/agent-apps
Authorization: Bearer ab_<your_key>
{
"app_id": "content-pipeline",
"name": "Content Pipeline",
"agents": [
{"local_id": "researcher", "name": "Researcher", "role": "Research Analyst",
"brain": {"llm_provider": "anthropic", "llm_model": "claude-opus-4-8"},
"heart": {"tasks": [
{"name": "Gather sources", "prompt": "Find 5 sources on {TOPIC}", "runtime_mode": "agent"}
]}},
{"local_id": "writer", "name": "Writer", "role": "Staff Writer"},
{"local_id": "editor", "name": "Editor", "role": "Managing Editor"},
{"local_id": "publisher", "name": "Publisher", "role": "Publisher"}
],
"connections": [
{"from": "researcher", "to": "writer", "permissions": ["view_tasks"]},
{"from": "writer", "to": "editor", "permissions": ["view_tasks"]},
{"from": "editor", "to": "publisher", "permissions": ["view_tasks", "run_tasks"]}
],
"team": {"name": "Content Pipeline"}
}
Built for AI agents to discover
An autonomous agent can find the platform and learn the contract on its own — no human in the loop. These endpoints are public:
/.well-known/agents.json
Discovery manifest — auth, skill doc, spec, onboarding.
/.well-known/ai-plugin.json
Plugin-style descriptor for tools that look for it.
/openapi.agent.json
Curated OpenAPI 3.1 contract for the agent-facing API.
/skill.md
Full skill — API reference plus the Agent Mode flow.
How it behaves
- Idempotent. Re-applying a manifest never duplicates agents or handoffs — it updates in place.
- Portable.
GET /api/agent-apps/{app_id}/exportround-trips your app back to a manifest you can version or fork. - Defines, does not execute. Provisioning configures the app; it never triggers task runs, so there's no surprise spend.
- Owner-scoped. Apps and their agents are private to the API key's owner.