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.
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 has a maximum number of agents that can be provisioned in a single team:
PlanMax agents per team
solo1 (team provisioning not available)
collective3
label10
network50

Provision a team

POST /api/provision/team
Creates a team of agents using a pre-built template or a custom agent configuration. Requires session authentication.

Request body

FieldTypeRequiredDescription
planstringYesPlan tier. Must be one of collective, label, or network.
templateKeystringNoKey of the pre-built team template to use (default: dev_team). Ignored when customAgents is provided. See list templates for available options.
customAgentsarrayNoCustom agent configurations. When provided, overrides the template. The number of agents must not exceed the plan’s agent limit.

Custom agent object

Each object in the customAgents array has the following fields:
FieldTypeRequiredDescription
namestringYesAgent identifier within the team
rolestringYesAgent role (for example, Engineer, QA)
descriptionstringYesShort description of the agent’s purpose
instructionstringYesSystem instruction for the agent
modelstringYesAI model identifier (for example, openrouter/xiaomi/mimo-v2-pro)
toolsstring[]YesList of tools the agent can use (for example, filesystem, shell, think, todo, memory)
memorySharedbooleanYesWhether the agent shares memory with other agents in the team

Response

{
  "success": true,
  "teamId": "team_1711234567890_a1b2c3",
  "template": "Dev Team",
  "agents": [
    {
      "container": "team_1711234567890_a1b2c3/pm",
      "status": "running",
      "url": "https://agentbot-agent-user123_pm.onrender.com"
    },
    {
      "container": "team_1711234567890_a1b2c3/engineer",
      "status": "running",
      "url": "https://agentbot-agent-user123_engineer.onrender.com"
    },
    {
      "container": "team_1711234567890_a1b2c3/qa",
      "status": "running",
      "url": "https://agentbot-agent-user123_qa.onrender.com"
    }
  ],
  "yaml_config": "# Agentbot Team Configuration\n..."
}
FieldTypeDescription
successbooleanWhether the team was provisioned
teamIdstringUnique team identifier (format: team_{timestamp}_{random})
templatestringName of the team template used
agentsarrayPer-agent provisioning results
agents[].containerstringContainer path (format: {teamId}/{agentName})
agents[].statusstringAgent status (running or failed)
agents[].urlstringAgent service URL
yaml_configstringGenerated YAML configuration for the team
If an individual agent in the team fails to provision, its status is set to failed and the remaining agents continue provisioning. The overall request still returns 200 — check each agent’s status field to identify failures.

Errors

CodeDescription
400Invalid or missing plan. The error message reads "Team provisioning requires collect, label, or network plan". Response includes available_templates listing valid template keys.
401Unauthorized — missing or invalid session
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_TOKEN" \
  -d '{
    "plan": "collective",
    "templateKey": "dev_team"
  }'

Example with custom agents

curl -X POST https://api.agentbot.raveculture.xyz/api/provision/team \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "plan": "label",
    "customAgents": [
      {
        "name": "planner",
        "role": "Project Planner",
        "description": "Breaks down tasks and coordinates work",
        "instruction": "You are the planner. Break requirements into tasks.",
        "model": "openrouter/xiaomi/mimo-v2-pro",
        "tools": ["filesystem", "think", "todo", "memory"],
        "memoryShared": true
      },
      {
        "name": "coder",
        "role": "Developer",
        "description": "Implements features and writes code",
        "instruction": "You are the developer. Write clean code.",
        "model": "openrouter/xiaomi/mimo-v2-pro",
        "tools": ["filesystem", "shell", "think"],
        "memoryShared": true
      }
    ]
  }'

List team templates

GET /api/provision/team/templates
Returns all available pre-built team templates. No authentication required.

Response

{
  "templates": [
    {
      "key": "dev_team",
      "name": "Dev Team",
      "description": "Product Manager + Engineer + QA",
      "agent_count": 3,
      "agents": [
        { "name": "pm", "role": "Product Manager" },
        { "name": "engineer", "role": "Engineer" },
        { "name": "qa", "role": "QA" }
      ]
    },
    {
      "key": "devops_team",
      "name": "DevOps Team",
      "description": "SRE Lead + Infrastructure Engineer + Security Auditor",
      "agent_count": 3,
      "agents": [
        { "name": "sre", "role": "SRE Lead" },
        { "name": "infra", "role": "Infrastructure Engineer" },
        { "name": "security", "role": "Security Auditor" }
      ]
    }
  ],
  "categories": [
    {
      "key": "developer",
      "label": "Developer",
      "templates": ["dev_team", "devops_team", "api_team"]
    },
    {
      "key": "creator",
      "label": "Creator",
      "templates": ["content_team", "social_media_team", "research_team"]
    },
    {
      "key": "business",
      "label": "Business",
      "templates": ["legal_team", "finance_team", "marketing_team", "sales_team"]
    },
    {
      "key": "personal",
      "label": "Personal",
      "templates": ["personal_assistant", "solopreneur"]
    }
  ]
}
FieldTypeDescription
templatesarrayAvailable team templates
templates[].keystringTemplate identifier used in 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

Available templates

Templates are organized into four categories: Developer, Creator, Business, and Personal.

Developer

Dev Team (dev_team)

A development team with three agents:
AgentRoleTools
pmProduct Managerfilesystem, think, todo, memory
engineerEngineerfilesystem, shell, think
qaQAfilesystem, shell, think

DevOps Team (devops_team)

An infrastructure and reliability team with three agents:
AgentRoleTools
sreSRE Leadfilesystem, shell, think, todo, memory
infraInfrastructure Engineerfilesystem, shell, think
securitySecurity Auditorfilesystem, shell, think

API Team (api_team)

An API development team with three agents:
AgentRoleTools
architectAPI Architectfilesystem, think, todo, memory
backendBackend Engineerfilesystem, shell, think
docsDocs Writerfilesystem, think

Creator

Content Team (content_team)

A content production team with three agents:
AgentRoleTools
managerContent Managerfilesystem, think, todo, memory
writerWriterfilesystem, think, memory
editorEditorfilesystem, think

Social Media Team (social_media_team)

A social media team with three agents:
AgentRoleTools
strategyStrategy Leadfilesystem, think, todo, memory
creatorContent Creatorfilesystem, think, memory
engagementEngagement Managerfilesystem, think, memory

Research Team (research_team)

A research team with three agents:
AgentRoleTools
leadLead Researcherfilesystem, think, todo, memory
analystAnalystfilesystem, shell, think
writerResearch Writerfilesystem, think

Business

A legal advisory team with three agents:
AgentRoleTools
advisorLegal Advisorfilesystem, think, todo, memory
drafterContract Drafterfilesystem, think
complianceCompliance Officerfilesystem, think, memory

Finance Team (finance_team)

A financial operations team with three agents:
AgentRoleTools
analystFinancial Analystfilesystem, shell, think, memory
accountantAccountantfilesystem, think
budgetBudget Managerfilesystem, think, todo

Marketing Team (marketing_team)

A marketing team with three agents:
AgentRoleTools
strategistMarketing Strategistfilesystem, think, todo, memory
copywriterCopywriterfilesystem, think, memory
growthGrowth Analystfilesystem, shell, think

Sales Team (sales_team)

A sales team with three agents:
AgentRoleTools
managerSales Managerfilesystem, think, todo, memory
qualifierLead Qualifierfilesystem, think, memory
aeAccount Executivefilesystem, think, memory

Personal

Personal Assistant (personal_assistant)

A daily productivity team with three agents:
AgentRoleTools
schedulerSchedulerfilesystem, think, todo, memory
researcherResearcherfilesystem, think, memory
writerWriterfilesystem, think, memory

Solopreneur (solopreneur)

A solo business operations team with three agents:
AgentRoleTools
opsBusiness Managerfilesystem, think, todo, memory
marketerMarketerfilesystem, think, memory
supportSupport Agentfilesystem, think, memory
All pre-built templates use openrouter/xiaomi/mimo-v2-pro as the default model and enable shared memory across all agents in the team.