---
title: "Create a new team."
method: POST
path: "/teams"
tags: ["Team"]
---

# Create a new team.

`POST /teams`

Creates a new team that composes multiple AI members into a directed graph for Pipecat Flows.

## Request body

- object
  - `name` string, required — Name of the team.
  - `detail` string, required — Detailed description of the team.
  - `start_member_id` string, uuid, required — The member ID that starts the conversation. Must reference one of the members in the members array.
  - `members` AIManagerTeamMember[], required — List of team members forming the graph nodes. Must contain at least one member.
    - `id` string, uuid, required — The unique identifier of this member within the team.
    - `name` string, required — Display name for this member.
    - `ai_id` string, uuid, required — The AI configuration backing this member. Returned from the `POST /ais` or `GET /ais` response.
    - `transitions` AIManagerTeamTransition[] — List of transitions (edges) from this member to other members.
      - `function_name` string, required — The function name that the LLM calls to trigger this transition. Must not collide with reserved tool names.
      - `description` string, required — Human-readable description of when this transition should be triggered. Used as the function description in LLM tool definitions.
      - `next_member_id` string, uuid, required — The member ID to transition to. Must reference an existing member in the team.
  - `parameter` object — Custom key-value parameter data for the team. Supports flow variable substitution at runtime.

## Response `200`

Details of the created team.

- AIManagerTeam
  - `id` string, uuid, required — The unique identifier of the team.
  - `customer_id` string, uuid, required — The unique identifier of the associated customer. Returned from the `GET /customers` response.
  - `name` string, required — Name of the team.
  - `detail` string, required — Detailed description of the team.
  - `start_member_id` string, uuid, required — The member ID that starts the conversation. Must reference one of the members in the members array.
  - `members` AIManagerTeamMember[], required — List of team members forming the graph nodes.
    - `id` string, uuid, required — The unique identifier of this member within the team.
    - `name` string, required — Display name for this member.
    - `ai_id` string, uuid, required — The AI configuration backing this member. Returned from the `POST /ais` or `GET /ais` response.
    - `transitions` AIManagerTeamTransition[] — List of transitions (edges) from this member to other members.
      - `function_name` string, required — The function name that the LLM calls to trigger this transition. Must not collide with reserved tool names.
      - `description` string, required — Human-readable description of when this transition should be triggered. Used as the function description in LLM tool definitions.
      - `next_member_id` string, uuid, required — The member ID to transition to. Must reference an existing member in the team.
  - `parameter` object — Custom key-value parameter data for the team. Supports flow variable substitution at runtime.
  - `direct_hash` string — The direct hash for direct access via SIP URI sip:<direct_hash>@sip.voipbin.net (the "direct." prefix is already included in the value, e.g. "direct.a1b2c3d4e5f6"). Returned from the resource's `direct_hash` field.
  - `tm_create` string, date-time — Timestamp when the team was created.
  - `tm_update` string, date-time — Timestamp when the team was last updated.
  - `tm_delete` string, date-time — Timestamp when the team was deleted.

## Other responses

- `400` — Invalid request (INVALID_ARGUMENT).
- `401` — Authentication required (UNAUTHENTICATED).
- `500` — Internal error (INTERNAL).

---

[API](https://skmtc.net/voipbin/apis/voipbin-api.md) · [All operations](https://skmtc.net/voipbin/apis/voipbin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voipbin/voipbin-api/versions/79e779080bcc/schema)
