Skip to main content

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:
PlanAgents per team
solo1 (team provisioning not available)
collective3
label10
networkUnlimited

Provision a team

POST /api/provision/team
Creates a team of agents using a pre-built template. Requires bearer token authentication.

Request body

FieldTypeRequiredDescription
planstringYesPlan tier. Must be one of collective, label, or network.
templateKeystringNoKey of the pre-built team template to use. Defaults to dev_team when omitted. See list templates for available options.
customAgentsarrayNoCustom agent configurations to provision instead of (or in addition to) the template defaults. Each entry defines an agent with its own configuration.
stripeSubscriptionIdstringNoStripe 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..."
}
FieldTypeDescription
successbooleanWhether provisioning was initiated
teamIdstringUnique team identifier (format: team-{hex})
templatestringHuman-readable name of the template used
agentsarrayPer-agent provision results
agents[].containerstringContainer name for the agent
agents[].statusstringCurrent deployment status (for example, deploying, running)
agents[].urlstringPublic URL for the agent service
yaml_configstringYAML 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

CodeDescription
400Invalid 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.
401Unauthorized — missing or invalid bearer token, or missing user context
402Payment required — no stripeSubscriptionId provided and the caller is not an admin. The response body includes code: "PAYMENT_REQUIRED".
402Agent limit reached for this plan. The response body includes code: "AGENT_LIMIT_REACHED" along with current (current agent count) and limit (maximum allowed) fields.
500Team 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"]
    }
  ]
}
FieldTypeDescription
templatesarrayAvailable team templates
templates[].keystringTemplate identifier used in the templateKey parameter
templates[].namestringHuman-readable template name
templates[].descriptionstringSummary of the team composition
templates[].agent_countnumberNumber of agents in the template
templates[].agentsarrayAgent definitions within the template
templates[].agents[].namestringAgent identifier
templates[].agents[].rolestringAgent role
categoriesarrayTemplate categories for organizing templates by use case
categories[].keystringCategory identifier
categories[].labelstringHuman-readable category name
categories[].templatesstring[]List of template keys belonging to this category

Errors

CodeDescription
401Unauthorized — 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.
AgentRole
ar-leadA&R Lead
mktg-agentMarketing
distro-agentDistribution

Artist Management (artist-management)

Booking, PR, and social media management for artists.
AgentRole
booking-agentBooking
pr-agentPR & Press
social-agentSocial Media

Production Suite (music-production)

Beat research, sample clearance, and release coordination.
AgentRole
research-agentBeat Research
clearance-agentSample Clearance
release-agentRelease Coord

Event Production (event-production)

Venue research, logistics, and promotion for live events.
AgentRole
venue-agentVenue Research
logistics-agentLogistics
promo-agentPromotion

Developer

Full Stack Dev (dev-fullstack)

Frontend, backend, and QA agents for software projects.
AgentRole
frontend-agentFrontend
backend-agentBackend
qa-agentQA

Content

Content Studio (content-studio)

Writer, editor, and publisher agents for content pipelines.
AgentRole
writer-agentWriter
editor-agentEditor
publisher-agentPublisher

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.
AgentRole
ar-leadA&R Lead
sync-agentSync & Licensing
marketing-agentMarketing
distro-agentDistribution
legal-agentLegal
finance-agentFinance
social-agentSocial Media
live-agentLive Events
pr-agentPR & Press
data-agentData & Analytics

Enterprise Dev (dev-enterprise)

Full enterprise development team with 10 specialized agents.
AgentRole
architect-agentArchitect
frontend-agentFrontend
backend-agentBackend
devops-agentDevOps
security-agentSecurity
qa-agentQA
docs-agentDocumentation
ux-agentUX Research
pm-agentProduct Manager
analytics-agentAnalytics