TeamCity Users API

Manage users and user groups

OpenAPI Specification

teamcity-users-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TeamCity REST Agent Pools Users API
  description: The TeamCity REST API provides programmatic access to JetBrains TeamCity continuous integration and deployment server. It allows you to manage projects, build configurations, builds, agents, users, VCS roots, changes, tests, and other TeamCity resources.
  version: 2024.12.1
  contact:
    name: JetBrains
    url: https://www.jetbrains.com/support/teamcity/
    email: teamcity-support@jetbrains.com
  license:
    name: Proprietary
    url: https://www.jetbrains.com/teamcity/buy/
  x-logo:
    url: https://www.jetbrains.com/teamcity/img/teamcity-logo.svg
servers:
- url: https://{server}/app/rest
  description: TeamCity Server
  variables:
    server:
      default: teamcity.example.com
      description: Your TeamCity server hostname
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Users
  description: Manage users and user groups
paths:
  /users:
    get:
      operationId: getAllUsers
      summary: Get All Users
      description: Returns a list of all users.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users'
    post:
      operationId: createUser
      summary: Create User
      description: Creates a new user.
      tags:
      - Users
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
      responses:
        '200':
          description: User created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
  /users/{userLocator}:
    get:
      operationId: getUser
      summary: Get User
      description: Returns details of a specific user.
      tags:
      - Users
      parameters:
      - name: userLocator
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
    put:
      operationId: updateUser
      summary: Update User
      description: Updates an existing user.
      tags:
      - Users
      parameters:
      - name: userLocator
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
      responses:
        '200':
          description: User updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
    delete:
      operationId: deleteUser
      summary: Delete User
      description: Deletes a specific user.
      tags:
      - Users
      parameters:
      - name: userLocator
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: User deleted successfully
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: User unique identifier
        username:
          type: string
          description: User login name
        name:
          type: string
          description: User display name
        email:
          type: string
          description: User email address
        href:
          type: string
        lastLogin:
          type: string
        roles:
          $ref: '#/components/schemas/Roles'
        groups:
          $ref: '#/components/schemas/Groups'
    Role:
      type: object
      properties:
        roleId:
          type: string
        scope:
          type: string
        href:
          type: string
    Group:
      type: object
      properties:
        key:
          type: string
          description: Group key
        name:
          type: string
          description: Group display name
        description:
          type: string
        href:
          type: string
        roles:
          $ref: '#/components/schemas/Roles'
    Groups:
      type: object
      properties:
        count:
          type: integer
        group:
          type: array
          items:
            $ref: '#/components/schemas/Group'
    Roles:
      type: object
      properties:
        role:
          type: array
          items:
            $ref: '#/components/schemas/Role'
    Users:
      type: object
      properties:
        count:
          type: integer
        user:
          type: array
          items:
            $ref: '#/components/schemas/User'
  parameters:
    fields:
      name: fields
      in: query
      description: Fields to include in the response (for partial responses)
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication using access tokens
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication with username and password
externalDocs:
  description: TeamCity REST API Documentation
  url: https://www.jetbrains.com/help/teamcity/rest-api.html