Team provisioning API
Provision coordinated multi-agent teams for Collective, Label, and Network plan tiers. Each agent in the team receives its own container service, provisioned asynchronously in the background.
Team provisioning requires a Collective plan or higher. Solo plan users are limited to single-agent provisioning via
POST /api/provision.
Plan agent limits
Each plan tier determines how many agents are provisioned in a single team:
| Plan | Agents per team |
|---|
solo | 1 (team provisioning not available) |
collective | 3 |
label | 10 |
network | Unlimited |
Provision a team
Creates a team of agents using a pre-built template. Requires bearer token authentication.
Request body
| Field | Type | Required | Description |
|---|
plan | string | Yes | Plan tier. Must be one of collective, label, or network. |
templateKey | string | No | Key of the pre-built team template to use. Defaults to dev_team when omitted. See list templates for available options. |
customAgents | array | No | Custom agent configurations to provision instead of (or in addition to) the template defaults. Each entry defines an agent with its own configuration. |
stripeSubscriptionId | string | No | Stripe subscription ID. Can also be passed in the x-stripe-subscription-id header. Required for non-admin users when payment enforcement is active. |
Response
{
"success": true,
"teamId": "team-a1b2c3d4e5f6",
"template": "Full Stack Dev",
"agents": [
{
"container": "agentbot-agent-frontend-a1b2c3d4",
"status": "deploying",
"url": "https://agentbot-agent-frontend-a1b2c3d4.up.railway.app"
},
{
"container": "agentbot-agent-backend-a1b2c3d4",
"status": "deploying",
"url": "https://agentbot-agent-backend-a1b2c3d4.up.railway.app"
}
],
"yaml_config": "name: Full Stack Dev\nagents:\n - name: frontend-agent\n role: Frontend\n..."
}
| Field | Type | Description |
|---|
success | boolean | Whether provisioning was initiated |
teamId | string | Unique team identifier (format: team-{hex}) |
template | string | Human-readable name of the template used |
agents | array | Per-agent provision results |
agents[].container | string | Container name for the agent |
agents[].status | string | Current deployment status (for example, deploying, running) |
agents[].url | string | Public URL for the agent service |
yaml_config | string | YAML configuration generated from the template |
Agent provisioning happens asynchronously after the response is returned. The agents array confirms that provisioning has been kicked off for each agent, not that all agents are running.
Errors
| Code | Description |
|---|
| 400 | Invalid JSON body or missing/invalid plan. The plan field must be one of collective, label, or network. The response includes an available_templates array listing valid template keys. |
| 401 | Unauthorized — missing or invalid bearer token, or missing user context |
| 402 | Payment required — no stripeSubscriptionId provided and the caller is not an admin. The response body includes code: "PAYMENT_REQUIRED". |
| 402 | Agent limit reached for this plan. The response body includes code: "AGENT_LIMIT_REACHED" along with current (current agent count) and limit (maximum allowed) fields. |
| 500 | Team provisioning failed |
Example request
curl -X POST https://api.agentbot.raveculture.xyz/api/provision/team \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"plan": "collective",
"templateKey": "dev-fullstack"
}'
List team templates
GET /api/provision/team/templates
Returns all available pre-built team templates and their categories. Requires bearer token authentication.
Response
{
"templates": [
{
"key": "music-label-ops",
"name": "Label Ops",
"description": "A&R, marketing, and distribution coordination for indie labels.",
"agent_count": 3,
"agents": [
{ "name": "ar-lead", "role": "A&R Lead" },
{ "name": "mktg-agent", "role": "Marketing" },
{ "name": "distro-agent", "role": "Distribution" }
]
}
],
"categories": [
{
"key": "music",
"label": "Music",
"templates": ["music-label-ops", "artist-management", "music-production", "event-production"]
}
]
}
| Field | Type | Description |
|---|
templates | array | Available team templates |
templates[].key | string | Template identifier used in the templateKey parameter |
templates[].name | string | Human-readable template name |
templates[].description | string | Summary of the team composition |
templates[].agent_count | number | Number of agents in the template |
templates[].agents | array | Agent definitions within the template |
templates[].agents[].name | string | Agent identifier |
templates[].agents[].role | string | Agent role |
categories | array | Template categories for organizing templates by use case |
categories[].key | string | Category identifier |
categories[].label | string | Human-readable category name |
categories[].templates | string[] | List of template keys belonging to this category |
Errors
| Code | Description |
|---|
| 401 | Unauthorized — missing or invalid bearer token |
Available templates
Templates are organized into four categories: Music, Developer, Content, and Label.
Music
Label Ops (music-label-ops)
A&R, marketing, and distribution coordination for indie labels.
| Agent | Role |
|---|
ar-lead | A&R Lead |
mktg-agent | Marketing |
distro-agent | Distribution |
Artist Management (artist-management)
Booking, PR, and social media management for artists.
| Agent | Role |
|---|
booking-agent | Booking |
pr-agent | PR & Press |
social-agent | Social Media |
Production Suite (music-production)
Beat research, sample clearance, and release coordination.
| Agent | Role |
|---|
research-agent | Beat Research |
clearance-agent | Sample Clearance |
release-agent | Release Coord |
Event Production (event-production)
Venue research, logistics, and promotion for live events.
| Agent | Role |
|---|
venue-agent | Venue Research |
logistics-agent | Logistics |
promo-agent | Promotion |
Developer
Full Stack Dev (dev-fullstack)
Frontend, backend, and QA agents for software projects.
| Agent | Role |
|---|
frontend-agent | Frontend |
backend-agent | Backend |
qa-agent | QA |
Content
Content Studio (content-studio)
Writer, editor, and publisher agents for content pipelines.
| Agent | Role |
|---|
writer-agent | Writer |
editor-agent | Editor |
publisher-agent | Publisher |
Label (10 agents)
These templates require the label plan.
Label Expanded (label-expanded)
Full label team with 10 agents covering all aspects of label operations.
| Agent | Role |
|---|
ar-lead | A&R Lead |
sync-agent | Sync & Licensing |
marketing-agent | Marketing |
distro-agent | Distribution |
legal-agent | Legal |
finance-agent | Finance |
social-agent | Social Media |
live-agent | Live Events |
pr-agent | PR & Press |
data-agent | Data & Analytics |
Enterprise Dev (dev-enterprise)
Full enterprise development team with 10 specialized agents.
| Agent | Role |
|---|
architect-agent | Architect |
frontend-agent | Frontend |
backend-agent | Backend |
devops-agent | DevOps |
security-agent | Security |
qa-agent | QA |
docs-agent | Documentation |
ux-agent | UX Research |
pm-agent | Product Manager |
analytics-agent | Analytics |