Teams

Create Team

Create a team, with its members and channels, in ONE transaction.

Everything in the body lands atomically: a team is never briefly visible with none of its mailboxes attached, and a rejected member id rolls the whole thing back rather than leaving a half-built team.

409 when the name is already taken in this organisation.

post/teams

Request

  • Base URL: https://be.graph8.com/api/v1
  • URL: https://be.graph8.com/api/v1/teams
  • Auth: HTTP bearer

Headers

Authorizationstring nullable
X-Target-Org-Idstring nullable

Request body

namestring required
typestring
descriptionstring nullable
colorstring nullable

Hex colour, e.g. #FF5733. An empty string clears it.

agent_idstring nullable
chat_intentstring nullable

'support' | 'sales' | null

mailbox_idsinteger[] nullable
phone_number_idsinteger[] nullable
linkedin_account_idsstring[] nullable
campaign_idsstring[] nullable
sequence_idsstring[] nullable
chatbot_idsstring[] nullable

Response

Successful Response

dataOrgPayload required

An open envelope for a single role, team, member or account record.

Open on purpose. The app's own response models on this surface grow with the product - RoleResponse gained rep_limits and manages_role_slugs, TeamResponse gained channel counts and a campaign count - and a pinned mirror would SILENTLY DROP whatever it had not caught up on. A dropped permission in a role read is the worst possible kind of stale: it reads as "they do not have it".

Changes