Xeonr Developer Docs

Create Team

POST
/xeonr.auth.api.v1.TeamsService/CreateTeam

Creates a team; the calling subject becomes its owner. Slugs are immutable and unique within the organisation.

Required scopes: auth:teams:manage or auth:teams:manage:app (the latter additionally requires the team to be entitled to the calling application)

AuthorizationBearer <token>

JWT access token obtained via OAuth2 flow or service account

In: header

Header Parameters

Connect-Protocol-Version*number

Define the version of the Connect protocol

Value in1
Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

slug?string
Match^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$
Length1 <= length <= 64
name?string
Length1 <= length <= 128
description?string
Lengthlength <= 512
bindCallerApplication?boolean

Entitle the calling client's application to the new team in the same transaction. Removes the create-then-enable window in which a product-created team exists but is invisible to the product (and, under auth:teams:manage:app, invisible to its creator). The application must allow self-serve binding (automatic_team_binding), exactly as EnableTeamApplication requires; otherwise the call fails and no team is created. Required when creating under auth:teams:manage:app.

[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://auth.xeonr.io/xeonr.auth.api.v1.TeamsService/CreateTeam" \  -H "Connect-Protocol-Version: 1" \  -H "Content-Type: application/json" \  -d '{}'
{
  "team": {
    "teamId": "urn:xeonr:auth:team:0f3c9a2e-8f1b-4c2d-9e6a-1b2c3d4e5f60",
    "slug": "platform-core",
    "name": "Platform Core",
    "description": "string",
    "avatarUrl": "string",
    "createdAt": "2023-01-15T01:30:15.01Z"
  }
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}