Team Management APIs

Use this API to manage teams in Tabnine Enterprise programmatically.

Team Management

Create A New Team

Create a new team in your organization. by sending the team name in the JSON body. This requires Admin or Manager permissions.

Create a new team

POST

Auth: Admin, Manager

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestring · min: 1Required
Responses
POST
/api/team/v1

Get A Single Team By ID

Fetch a single team by its UUID by passing the team ID in the path. This requires Admin, Manager, or Team Lead (own team only) permissions.

Get a single team by ID

GET

Auth: Admin, Manager, TeamLead (own team only)

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstring · uuidRequired

Team UUID

Responses
chevron-right
200

Team

application/json
idstring · uuidRequired
namestringRequired
syncedGroupIdone ofOptional
stringOptional
or
nullOptional
Other propertiesanyOptional
GET
/api/team/v1/{id}

Rename A Team

Rename an existing team by sending the new team name in the JSON body. This requires Admin or Manager permissions.

Rename a team

PUT

Auth: Admin, Manager Note: Cannot rename synced teams (400).

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstring · uuidRequired

Team UUID

Body
namestring · min: 1Required
Responses
chevron-right
200

Updated team

application/json
idstring · uuidRequired
namestringRequired
organizationIdstring · uuidOptional
syncedGroupIdone ofOptional
stringOptional
or
nullOptional
Other propertiesanyOptional
PUT
/api/team/v1/{id}

User Management

Get User Info

Fetch a user’s current profile and access settings. This can include role, active status, team assignment, and allowedTeams. This requires Admin permissions.

Get user info

GET

Auth: Admin Includes allowedTeams.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
userIdstring · uuidRequired

User UUID

Responses
chevron-right
200

User info with team info

application/json
Other propertiesanyOptional
GET
/api/user/v1/{userId}

Update User Properties

Update a user’s role, active status, or team assignment by sending one or more fields in the JSON body. This requires Admin or Manager permissions.

Update user properties

PATCH

Auth: Admin, Manager (with role hierarchy checks) Note: Cannot modify self, instance admins, or anonymized users. Supports updating role, active status, and team assignment.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
userIdstring · uuidRequired

User UUID

Body
rolestring · enumOptionalPossible values:
activebooleanOptional
teamIdone ofOptional

UUID to assign, or null to remove assignment

string · uuidOptional
or
nullOptional
Responses
chevron-right
200

Update result

application/json
successbooleanRequired
messagestringRequired
Other propertiesanyOptional
PATCH
/api/user/v1/{userId}

Look Up A User By Email Address

Look up a user by their email address by passing the email in the path (URL-encoded). This requires Admin or Manager permissions.

Look up a user by email address

GET

Auth: Admin, Manager Returns 404 if user not found or belongs to a different org.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
emailstring · emailRequired

Email address (URL-encoded)

Responses
chevron-right
200

User summary

application/json
idstring · uuidRequired
usernamestringOptional
emailstring · emailRequired
rolestring · enumRequiredPossible values:
verifiedbooleanOptional
teamone ofOptional
or
nullOptional
allowedTeamsone ofOptional
string · uuid[]Optional
or
nullOptional
Other propertiesanyOptional
GET
/api/user/v1/by-email/{email}

List Teams A User Is Allowed To Access

List teams a user is allowed to access by passing the user ID in the path. This requires Admin or Manager permissions.

List teams a user is allowed to access

GET

Auth: Admin, Manager

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
userIdstring · uuidRequired

User UUID

Responses
chevron-right
200

Allowed teams

application/json
idstring · uuidRequired
namestringRequired
organizationIdstring · uuidOptional
syncedGroupIdone ofOptional
stringOptional
or
nullOptional
Other propertiesanyOptional
GET
/api/user/v1/{userId}/allowed-teams

Add Teams To A User's Allowed List

Add teams to a user’s allowed list by sending one or more team IDs in the JSON body. This requires Admin or Manager permissions.

Add teams to a user's allowed list

PATCH

Auth: Admin, Manager Idempotent add (ON CONFLICT DO NOTHING). Body teamIds must contain at least 1 item.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
userIdstring · uuidRequired

User UUID

Body
teamIdsstring · uuid[] · min: 1Required
Responses
chevron-right
200

Added (idempotent)

application/json
objectOptional
PATCH
/api/user/v1/{userId}/allowed-teams

Remove Teams From A User's Allowed List

Remove teams from a user’s allowed list by sending one or more team IDs in the JSON body. This requires Admin or Manager permissions.

Remove teams from a user's allowed list

DELETE

Auth: Admin, Manager Body teamIds must contain at least 1 item. Note: This endpoint uses a request body with DELETE.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
userIdstring · uuidRequired

User UUID

Body
teamIdsstring · uuid[] · min: 1Required
Responses
chevron-right
200

Removed

application/json
objectOptional
DELETE
/api/user/v1/{userId}/allowed-teams

Invitation Management

Invite A User By Email To A Team With A Role

Invite a user to a team with a role by sending email, teamId, and role in the JSON body. This requires Admin or Manager permissions.

Invite a user by email to a team with a role

POST

Auth: Admin, Manager (with role hierarchy checks) Returns:

  • 201 for a new user invitation (includes invitationId)
  • 200 when the user already exists and is added to team (includes userId)
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
emailstring · emailRequired
teamIdstring · uuidRequired
rolestring · enumRequiredPossible values:
Responses
chevron-right
200

Existing user added to team

application/json
successbooleanRequired
messagestringRequired
userExistsconst: Required
userIdstring · uuidRequired
Other propertiesanyOptional
POST
/api/invitation/v1

List Pending Invitations

List pending invitations by using the offset and limit query parameters.This requires Admin or Manager permissions.

List pending invitations

GET

Auth: Admin, Manager Supports pagination and optional teamId filter.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
offsetintegerRequired

Pagination offset

limitinteger · min: 1 · max: 200Required

Page size

teamIdstring · uuidOptional

Filter invitations by team UUID

Responses
chevron-right
200

Paginated invitations

application/json
Other propertiesanyOptional
GET
/api/invitation/v1

Revoke (Soft-Delete) Invitations By IDs

Revoke invitations by their IDs by sending one or more invitationIds in the JSON body. This requires Admin or Manager permissions.

Revoke (soft-delete) invitations by IDs

DELETE

Auth: Admin, Manager (with role hierarchy checks) Note: This endpoint uses a request body with DELETE.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
invitationIdsstring · uuid[] · min: 1Required
Responses
chevron-right
200

Revocation result

application/json
revokedintegerRequired
Other propertiesanyOptional
DELETE
/api/invitation/v1

Last updated

Was this helpful?