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