Skip to main content
POST
https://sandbox.getcollate.io/api
/
v1
/
teams
POST /v1/teams
from metadata.sdk import configure
from metadata.sdk.entities import Teams
from metadata.generated.schema.api.teams.createTeam import CreateTeamRequest

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

request = CreateTeamRequest(
    name="Accounting",
    teamType="Group",
    displayName="Accounting",
    description="Accounting team under Finance",
    parents=["4f87a3ea-d798-4509-8c64-5b11f8a96f89"]
)

team = Teams.create(request)
print(f"Created: {team.fullyQualifiedName}")
{
  "id": "449b5f25-4cbb-42db-8f71-3be2c5cd888a",
  "teamType": "Group",
  "name": "Accounting",
  "fullyQualifiedName": "Accounting",
  "version": 0.1,
  "updatedAt": 1769982623753,
  "updatedBy": "admin",
  "href": "http://localhost:8585/api/v1/teams/449b5f25-4cbb-42db-8f71-3be2c5cd888a",
  "parents": [
    {
      "id": "4f87a3ea-d798-4509-8c64-5b11f8a96f89",
      "type": "team",
      "name": "Finance",
      "fullyQualifiedName": "Finance",
      "displayName": "Finance",
      "deleted": false
    }
  ],
  "users": [],
  "deleted": false,
  "owners": [],
  "domains": [],
  "children": [],
  "policies": []
}

Create a Team

Create a new team for organizing users and controlling access to data assets.

Body Parameters

name
string
required
Name of the team. Must be unique across all teams.
teamType
string
required
Type of team. One of: Group, Department, Division, BusinessUnit, Organization.
displayName
string
Human-readable display name for the team.
description
string
Description of the team in Markdown format.
email
string
Email address associated with the team.
parents
array
Array of parent team references. A team can belong to a parent team in the hierarchy.
isJoinable
boolean
default:"true"
Whether users can join this team without an invitation.
owners
array
Array of owner references (users or teams) to assign as owners of this team.
policies
array
Array of policy references to attach to the team.
domain
string
Fully qualified name of the domain to assign for governance purposes.
POST /v1/teams
from metadata.sdk import configure
from metadata.sdk.entities import Teams
from metadata.generated.schema.api.teams.createTeam import CreateTeamRequest

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

request = CreateTeamRequest(
    name="Accounting",
    teamType="Group",
    displayName="Accounting",
    description="Accounting team under Finance",
    parents=["4f87a3ea-d798-4509-8c64-5b11f8a96f89"]
)

team = Teams.create(request)
print(f"Created: {team.fullyQualifiedName}")
{
  "id": "449b5f25-4cbb-42db-8f71-3be2c5cd888a",
  "teamType": "Group",
  "name": "Accounting",
  "fullyQualifiedName": "Accounting",
  "version": 0.1,
  "updatedAt": 1769982623753,
  "updatedBy": "admin",
  "href": "http://localhost:8585/api/v1/teams/449b5f25-4cbb-42db-8f71-3be2c5cd888a",
  "parents": [
    {
      "id": "4f87a3ea-d798-4509-8c64-5b11f8a96f89",
      "type": "team",
      "name": "Finance",
      "fullyQualifiedName": "Finance",
      "displayName": "Finance",
      "deleted": false
    }
  ],
  "users": [],
  "deleted": false,
  "owners": [],
  "domains": [],
  "children": [],
  "policies": []
}

Returns

Returns the created team object with all specified properties and system-generated fields.

Response

id
string
Unique identifier for the team (UUID format).
name
string
Team name.
fullyQualifiedName
string
Fully qualified name (same as name for teams).
displayName
string
Human-readable display name.
teamType
string
Type of team (Group, Department, Division, BusinessUnit, Organization).
description
string
Description of the team in Markdown format.
parents
array
Parent team references.
users
array
Users belonging to this team.
children
array
Child team references.
policies
array
Policy references attached to the team.
owners
array
List of owners assigned to the team.
domains
array
Domain assignments for governance.
version
number
Version number for the entity (starts at 0.1).

Error Handling

CodeError TypeDescription
400BAD_REQUESTInvalid request body or missing required fields
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission to create teams
409ENTITY_ALREADY_EXISTSTeam with same name already exists