Teams

A team groups agents so conversations can be routed to a queue instead of a single person. Every team has members (agentIds) and, optionally, managers (managerIds) who can see and manage everything assigned to it.

List Teams

Returns every team in the organisation with members and managers populated, plus a usage block for the max_teams plan limit.

GET/v2.0/teams

Code Example

curl -X GET "https://api.sendiee.com/v2.0/teams" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response — 200 OK

{
  "success": true,
  "data": [
    {
      "_id": "6710a1f4c93b2e0012aa7f01",
      "orgId": "664f0c1a9d2b4e0011ab3c22",
      "name": "Sales",
      "description": "Inbound demo requests and pricing questions",
      "color": "#7C3AED",
      "emoji": "💼",
      "agentIds": [
        {
          "_id": "6708b2d1c93b2e0012aa1001",
          "name": "Aarti Menon",
          "email": "[email protected]",
          "profilePicture": "https://cdn.sendiee.com/agents/aarti.jpg"
        },
        {
          "_id": "6708b2d1c93b2e0012aa1002",
          "name": "Rahul Verma",
          "email": "[email protected]",
          "profilePicture": null
        }
      ],
      "managerIds": [
        {
          "_id": "6708b2d1c93b2e0012aa1001",
          "name": "Aarti Menon",
          "email": "[email protected]",
          "profilePicture": "https://cdn.sendiee.com/agents/aarti.jpg"
        }
      ],
      "defaultInboxView": "unified",
      "isActive": true,
      "createdAt": "2026-08-02T09:14:00.000Z",
      "updatedAt": "2026-09-01T11:42:00.000Z"
    }
  ],
  "usage": {
    "maxTeams": 5,
    "teamCount": 1,
    "unlimited": false,
    "over": false,
    "behavior": "hard_block"
  }
}

Team Object

ParameterTypeDescription
_idstringTeam id — use it as teamId when assigning conversations
namestringTeam name, unique per organisation (case-insensitive)
descriptionstringFree-text description shown in the teambox app
colorstringHex colour used for the team chipDefault: #6B7280
emojistringShort emoji badge (max 8 characters)
agentIdsarrayMembers, populated as { _id, name, email, profilePicture }
managerIdsarrayManagers, populated the same way. Always a subset of agentIds
defaultInboxViewstringInbox layout for this team: unified or per_channel
isActivebooleanInactive teams stay in the list but are hidden from routing

Usage Object

ParameterTypeDescription
maxTeamsnumberTeam cap on the current plan
teamCountnumberTeams currently used
unlimitedbooleantrue when the plan has no team cap
overbooleantrue when the org is above its cap (e.g. after a downgrade)
behaviorstringEnforcement at the cap. hard_block refuses new teams; anything else only flags the overage

Try It — List Teams

Try it — API Playground

Create Team

Creates a team and syncs membership onto each agent in the same call. Names are unique per organisation, case-insensitive.

POST/v2.0/teams

Body Parameters

ParameterTypeDescription
namestringTeam name. Must be unique within the organisation
descriptionstringFree-text description
colorstringHex colour for the team chipDefault: #6B7280
emojistringEmoji badge, trimmed to 8 characters
agentIdsarrayAgent ids to add as members (from GET /v2.0/agents)
managerIdsarrayAgent ids to promote to managers. Every one must also be in agentIds

Code Example

curl -X POST "https://api.sendiee.com/v2.0/teams" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Sales",
    "description": "Inbound demo requests and pricing questions",
    "color": "#7C3AED",
    "agentIds": ["6708b2d1c93b2e0012aa1001", "6708b2d1c93b2e0012aa1002"],
    "managerIds": ["6708b2d1c93b2e0012aa1001"]
  }'

Response — 201 Created

{
  "success": true,
  "data": {
    "_id": "6710a1f4c93b2e0012aa7f01",
    "orgId": "664f0c1a9d2b4e0011ab3c22",
    "name": "Sales",
    "description": "Inbound demo requests and pricing questions",
    "color": "#7C3AED",
    "emoji": "💼",
    "agentIds": [
      {
        "_id": "6708b2d1c93b2e0012aa1001",
        "name": "Aarti Menon",
        "email": "[email protected]",
        "profilePicture": "https://cdn.sendiee.com/agents/aarti.jpg"
      },
      {
        "_id": "6708b2d1c93b2e0012aa1002",
        "name": "Rahul Verma",
        "email": "[email protected]",
        "profilePicture": null
      }
    ],
    "managerIds": [
      {
        "_id": "6708b2d1c93b2e0012aa1001",
        "name": "Aarti Menon",
        "email": "[email protected]",
        "profilePicture": "https://cdn.sendiee.com/agents/aarti.jpg"
      }
    ],
    "defaultInboxView": "unified",
    "isActive": true,
    "createdAt": "2026-08-02T09:14:00.000Z",
    "updatedAt": "2026-09-01T11:42:00.000Z"
  }
}

Errors

StatusCodeMeaning
400VALIDATION_ERRORMissing name, or a team with that name already exists
400MANAGER_NOT_MEMBERA manager id is not in agentIds
403LIMIT_EXCEEDEDThe plan max_teams cap is reached

Update Team

Partial update. Send only the fields you want to change — membership changes are synced onto every affected agent, and managers who are dropped from agentIds lose their manager role automatically.

PATCH/v2.0/teams/{teamId}

Body Parameters

ParameterTypeDescription
namestringNew team name
descriptionstringNew description
colorstringNew hex colour
emojistringNew emoji badge
agentIdsarrayReplaces the member list wholesale — send the full array, not a delta
managerIdsarrayReplaces the manager list. Ids missing from agentIds are dropped
isActivebooleanDeactivate a team without deleting it

Code Example

curl -X PATCH "https://api.sendiee.com/v2.0/teams/6710a1f4c93b2e0012aa7f01" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Sales (EMEA)", "agentIds": ["6708b2d1c93b2e0012aa1001"] }'

Response — 200 OK

{
  "success": true,
  "data": {
    "_id": "6710a1f4c93b2e0012aa7f01",
    "orgId": "664f0c1a9d2b4e0011ab3c22",
    "name": "Sales (EMEA)",
    "description": "Inbound demo requests and pricing questions",
    "color": "#7C3AED",
    "emoji": "💼",
    "agentIds": [
      {
        "_id": "6708b2d1c93b2e0012aa1001",
        "name": "Aarti Menon",
        "email": "[email protected]",
        "profilePicture": "https://cdn.sendiee.com/agents/aarti.jpg"
      },
      {
        "_id": "6708b2d1c93b2e0012aa1002",
        "name": "Rahul Verma",
        "email": "[email protected]",
        "profilePicture": null
      }
    ],
    "managerIds": [
      {
        "_id": "6708b2d1c93b2e0012aa1001",
        "name": "Aarti Menon",
        "email": "[email protected]",
        "profilePicture": "https://cdn.sendiee.com/agents/aarti.jpg"
      }
    ],
    "defaultInboxView": "unified",
    "isActive": true,
    "createdAt": "2026-08-02T09:14:00.000Z",
    "updatedAt": "2026-09-01T11:42:00.000Z"
  }
}