Xeonr Developer Docs

Create Team Invitation

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

Invites an email address to a team with a team role and optional per-application roles granted on acceptance. Under auth:teams:app-roles invited roles are restricted to applications the calling client is bound to. The acting subject must be a team owner.

Required scopes: auth:teams:app-roles or auth:teams:manage

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

team?string
Length1 <= length <= 128
email?string
Formatemail
Length3 <= length <= 128
role?string

The subject's governance role within a team. Product-level permissions are carried separately as per-application role names (ApplicationRole).

Value in"TEAM_ROLE_UNSPECIFIED" | "TEAM_ROLE_OWNER" | "TEAM_ROLE_MEMBER"
application?string

Optional: application slug + role names granted on acceptance. Restricted to applications the calling client is bound to.

Lengthlength <= 64
applicationRoles?application_roles
Itemsitems <= 32
[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://auth.xeonr.io/xeonr.auth.api.v1.TeamsService/CreateTeamInvitation" \  -H "Connect-Protocol-Version: 1" \  -H "Content-Type: application/json" \  -d '{}'
{
  "invitation": {
    "invitationId": "b8a7c6d5-e4f3-4a2b-9c8d-7e6f5a4b3c2d",
    "teamId": "string",
    "email": "[email protected]",
    "role": "TEAM_ROLE_UNSPECIFIED",
    "applicationRoles": [
      "string"
    ],
    "invitedBy": "urn:xeonr:auth:uid:user:123",
    "expiresAt": "2023-01-15T01:30:15.01Z",
    "createdAt": "2023-01-15T01:30:15.01Z"
  }
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}