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
201
Team created
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
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
200
Team
application/json
idstring · uuidRequired
namestringRequired
syncedGroupIdone ofOptional
stringOptional
or
nullOptional
Other propertiesanyOptional
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
200
Updated team
application/json
idstring · uuidRequired
namestringRequired
organizationIdstring · uuidOptional
syncedGroupIdone ofOptional
stringOptional
or
nullOptional
Other propertiesanyOptional
400
Bad Request
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
200
User info with team info
application/json
Other propertiesanyOptional
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
200
Update result
application/json
successbooleanRequired
messagestringRequired
Other propertiesanyOptional
400
Bad Request
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
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
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
200
Allowed teams
application/json
idstring · uuidRequired
namestringRequired
organizationIdstring · uuidOptional
syncedGroupIdone ofOptional
stringOptional
or
nullOptional
Other propertiesanyOptional
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
200
Added (idempotent)
application/json
objectOptional
400
Bad Request
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
200
Removed
application/json
objectOptional
400
Bad Request
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
200
Existing user added to team
application/json
successbooleanRequired
messagestringRequired
userExistsconst: Required
userIdstring · uuidRequired
Other propertiesanyOptional
201
Invitation created for new user
application/json
400
Bad Request
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
404
Not Found
application/json
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
200
Paginated invitations
application/json
Other propertiesanyOptional
401
Unauthorized
application/json
403
Forbidden
application/json
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>.