Skip to main content
Teams are multi-agent orchestration units that coordinate two or more individual agents to handle complex tasks. A team appears in the agent registry as an AgentDefinition with is_team: true, and you run it through the exact same endpoints as a single agent. The orchestration strategy — Coordinator or Router — determines how the team leader dispatches work to its member agents. All requests require a valid bearer token in the Authorization header.

Orchestration modes

Agent Manager supports two primary team modes: Coordinator — A designated leader agent delegates subtasks to member agents as tool calls. The leader synthesizes member outputs into a final response. This is best for tasks that require parallel or sequential delegation across specialists. Router — The leader classifies the user’s intent and routes the entire conversation to the most appropriate specialist agent. The selected specialist handles the request directly. This is best for domain-specific queries where one specialist is clearly the right choice.
In both modes, TOOL_START and TOOL_END events in the SSE stream reflect agent-to-agent delegation. The data field in TOOL_START contains the target member agent’s ID and the delegated instruction.

Running a team

Teams are executed using the same endpoints as individual agents. Pass the team’s id as the agentId path parameter. Synchronous: POST /api/agents/{teamId}/runs Streaming: POST /api/agents/{teamId}/runs/stream Background: POST /api/agents/{teamId}/runs/background See the synchronous run and streaming reference pages for full request/response documentation.

Streaming delegation events

When you stream a team run, the SSE stream includes TOOL_START and TOOL_END events for each member agent delegation. Use these to show your users which specialist is handling their query.

List teams

Returns a paginated list of configured teams, with optional search filtering and an option to include archived teams.
Optional text search across team names and descriptions.
boolean
default:"false"
When true, includes archived teams in the response.
number
default:"0"
Zero-based page index.
number
default:"20"
Number of teams per page.
Example response
You can also discover teams from the standard agents endpoint. GET /api/agents returns all agents including teams — filter on is_team: true to identify team entries.

Manage team members

You can add and remove member agents from a team without re-creating it.

List members

string
required
The team identifier.

Add a member

string
required
The team identifier.
string
required
The identifier of the agent to add as a member.
string
Optional role label for this member within the team (e.g., "specialist", "validator").

Remove a member

string
required
The team identifier.
string
required
The agent to remove from the team.
Returns 204 No Content.

Additional team operations