TeamCity REST API

The primary REST API for interacting with TeamCity server, allowing you to manage builds, projects, build configurations, agents, users, VCS roots, changes, tests, investigations, mutes, cloud infrastructure, and more.

Documentation

Specifications

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/json-ld/teamcity-rest-api.jsonld
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-agent-pools.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-agents.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-audit.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-build-configurations.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-build-queue.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-builds.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-changes.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-cloud.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-investigations.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-mutes.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-problems.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-projects.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-server.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-tests.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-user-groups.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-users.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/capabilities/rest-vcs-roots.yaml

OpenAPI Specification

teamcity-rest-api.yml Raw ↑
openapi: 3.0.3
info:
  title: TeamCity REST 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: [email protected]
  license:
    name: Proprietary
    url: https://www.jetbrains.com/teamcity/buy/
  x-logo:
    url: https://www.jetbrains.com/teamcity/img/teamcity-logo.svg

externalDocs:
  description: TeamCity REST API Documentation
  url: https://www.jetbrains.com/help/teamcity/rest-api.html

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: Projects
    description: Manage TeamCity projects
  - name: Build Configurations
    description: Manage build configurations (build types)
  - name: Builds
    description: Trigger, query, and manage builds
  - name: Build Queue
    description: Manage the build queue
  - name: Agents
    description: Manage build agents
  - name: Agent Pools
    description: Manage agent pools
  - name: VCS Roots
    description: Manage version control system roots
  - name: Changes
    description: Query VCS changes
  - name: Tests
    description: Query test results
  - name: Users
    description: Manage users and user groups
  - name: User Groups
    description: Manage user groups
  - name: Investigations
    description: Manage build and test investigations
  - name: Mutes
    description: Manage test mutes
  - name: Problems
    description: Query build problems
  - name: Server
    description: Server information and configuration
  - name: Cloud
    description: Manage cloud profiles and instances
  - name: Audit
    description: Query audit log entries

paths:
  /projects:
    get:
      operationId: getAllProjects
      summary: Get All Projects
      description: Returns a list of all projects on the TeamCity server.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Projects'
            application/xml:
              schema:
                $ref: '#/components/schemas/Projects'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createProject
      summary: Create Project
      description: Creates a new project on the TeamCity server.
      tags:
        - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewProjectDescription'
          application/xml:
            schema:
              $ref: '#/components/schemas/NewProjectDescription'
      responses:
        '200':
          description: Project created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /projects/{projectLocator}:
    get:
      operationId: getProject
      summary: Get Project
      description: Returns details of a specific project.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectLocator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteProject
      summary: Delete Project
      description: Deletes a specific project from the TeamCity server.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectLocator'
      responses:
        '204':
          description: Project deleted successfully
        '404':
          $ref: '#/components/responses/NotFound'

  /projects/{projectLocator}/parameters:
    get:
      operationId: getProjectParameters
      summary: Get Project Parameters
      description: Returns all parameters defined for a project.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectLocator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Properties'

  /projects/{projectLocator}/buildTypes:
    get:
      operationId: getProjectBuildTypes
      summary: Get Project Build Configurations
      description: Returns all build configurations for a project.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectLocator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildTypes'

  /buildTypes:
    get:
      operationId: getAllBuildTypes
      summary: Get All Build Configurations
      description: Returns a list of all build configurations.
      tags:
        - Build Configurations
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildTypes'

  /buildTypes/{btLocator}:
    get:
      operationId: getBuildType
      summary: Get Build Configuration
      description: Returns details of a specific build configuration.
      tags:
        - Build Configurations
      parameters:
        - name: btLocator
          in: path
          required: true
          description: Build type locator string
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildType'
        '404':
          $ref: '#/components/responses/NotFound'

  /buildTypes/{btLocator}/builds:
    get:
      operationId: getBuildTypeBuilds
      summary: Get Build Configuration Builds
      description: Returns builds for a specific build configuration.
      tags:
        - Build Configurations
      parameters:
        - name: btLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/start'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Builds'

  /buildTypes/{btLocator}/parameters:
    get:
      operationId: getBuildTypeParameters
      summary: Get Build Configuration Parameters
      description: Returns all parameters defined for a build configuration.
      tags:
        - Build Configurations
      parameters:
        - name: btLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Properties'

  /builds:
    get:
      operationId: getAllBuilds
      summary: Get All Builds
      description: Returns a list of builds matching the specified criteria.
      tags:
        - Builds
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/start'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Builds'

  /builds/{buildLocator}:
    get:
      operationId: getBuild
      summary: Get Build
      description: Returns details of a specific build.
      tags:
        - Builds
      parameters:
        - name: buildLocator
          in: path
          required: true
          description: Build locator string
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
        '404':
          $ref: '#/components/responses/NotFound'

  /builds/{buildLocator}/tags:
    get:
      operationId: getBuildTags
      summary: Get Build Tags
      description: Returns tags associated with a build.
      tags:
        - Builds
      parameters:
        - name: buildLocator
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tags'
    put:
      operationId: setBuildTags
      summary: Set Build Tags
      description: Sets tags for a build, replacing existing tags.
      tags:
        - Builds
      parameters:
        - name: buildLocator
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tags'
      responses:
        '200':
          description: Tags updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tags'

  /builds/{buildLocator}/artifacts:
    get:
      operationId: getBuildArtifacts
      summary: Get Build Artifacts
      description: Returns the artifacts of a specific build.
      tags:
        - Builds
      parameters:
        - name: buildLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Files'

  /builds/{buildLocator}/statistics:
    get:
      operationId: getBuildStatistics
      summary: Get Build Statistics
      description: Returns statistical values for a specific build.
      tags:
        - Builds
      parameters:
        - name: buildLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Properties'

  /builds/{buildLocator}/problemOccurrences:
    get:
      operationId: getBuildProblems
      summary: Get Build Problem Occurrences
      description: Returns problem occurrences for a specific build.
      tags:
        - Builds
      parameters:
        - name: buildLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemOccurrences'

  /builds/{buildLocator}/testOccurrences:
    get:
      operationId: getBuildTests
      summary: Get Build Test Occurrences
      description: Returns test occurrences for a specific build.
      tags:
        - Builds
      parameters:
        - name: buildLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/start'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestOccurrences'

  /builds/{buildLocator}/cancel:
    post:
      operationId: cancelBuild
      summary: Cancel Build
      description: Cancels a queued or running build.
      tags:
        - Builds
      parameters:
        - name: buildLocator
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildCancelRequest'
      responses:
        '200':
          description: Build cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'

  /buildQueue:
    get:
      operationId: getBuildQueue
      summary: Get Build Queue
      description: Returns the current build queue.
      tags:
        - Build Queue
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Builds'
    post:
      operationId: triggerBuild
      summary: Trigger Build
      description: Adds a build to the build queue (triggers a build).
      tags:
        - Build Queue
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Build'
          application/xml:
            schema:
              $ref: '#/components/schemas/Build'
      responses:
        '200':
          description: Build triggered successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
        '400':
          $ref: '#/components/responses/BadRequest'

  /agents:
    get:
      operationId: getAllAgents
      summary: Get All Agents
      description: Returns a list of all build agents.
      tags:
        - Agents
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agents'

  /agents/{agentLocator}:
    get:
      operationId: getAgent
      summary: Get Agent
      description: Returns details of a specific build agent.
      tags:
        - Agents
      parameters:
        - name: agentLocator
          in: path
          required: true
          description: Agent locator string
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
        '404':
          $ref: '#/components/responses/NotFound'

  /agents/{agentLocator}/enabled:
    get:
      operationId: getAgentEnabledStatus
      summary: Get Agent Enabled Status
      description: Returns whether an agent is enabled.
      tags:
        - Agents
      parameters:
        - name: agentLocator
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: boolean
    put:
      operationId: setAgentEnabledStatus
      summary: Set Agent Enabled Status
      description: Enables or disables a build agent.
      tags:
        - Agents
      parameters:
        - name: agentLocator
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              type: boolean
      responses:
        '200':
          description: Status updated successfully

  /agents/{agentLocator}/authorized:
    get:
      operationId: getAgentAuthorizedStatus
      summary: Get Agent Authorized Status
      description: Returns whether an agent is authorized.
      tags:
        - Agents
      parameters:
        - name: agentLocator
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: boolean
    put:
      operationId: setAgentAuthorizedStatus
      summary: Set Agent Authorized Status
      description: Authorizes or unauthorizes a build agent.
      tags:
        - Agents
      parameters:
        - name: agentLocator
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              type: boolean
      responses:
        '200':
          description: Status updated successfully

  /agentPools:
    get:
      operationId: getAllAgentPools
      summary: Get All Agent Pools
      description: Returns a list of all agent pools.
      tags:
        - Agent Pools
      parameters:
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPools'
    post:
      operationId: createAgentPool
      summary: Create Agent Pool
      description: Creates a new agent pool.
      tags:
        - Agent Pools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentPool'
      responses:
        '200':
          description: Agent pool created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPool'

  /agentPools/{agentPoolLocator}:
    get:
      operationId: getAgentPool
      summary: Get Agent Pool
      description: Returns details of a specific agent pool.
      tags:
        - Agent Pools
      parameters:
        - name: agentPoolLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPool'
    delete:
      operationId: deleteAgentPool
      summary: Delete Agent Pool
      description: Deletes a specific agent pool.
      tags:
        - Agent Pools
      parameters:
        - name: agentPoolLocator
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Agent pool deleted successfully

  /vcs-roots:
    get:
      operationId: getAllVcsRoots
      summary: Get All VCS Roots
      description: Returns a list of all VCS roots.
      tags:
        - VCS Roots
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VcsRoots'
    post:
      operationId: createVcsRoot
      summary: Create VCS Root
      description: Creates a new VCS root.
      tags:
        - VCS Roots
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VcsRoot'
      responses:
        '200':
          description: VCS root created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VcsRoot'

  /vcs-roots/{vcsRootLocator}:
    get:
      operationId: getVcsRoot
      summary: Get VCS Root
      description: Returns details of a specific VCS root.
      tags:
        - VCS Roots
      parameters:
        - name: vcsRootLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VcsRoot'
    delete:
      operationId: deleteVcsRoot
      summary: Delete VCS Root
      description: Deletes a specific VCS root.
      tags:
        - VCS Roots
      parameters:
        - name: vcsRootLocator
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: VCS root deleted successfully

  /changes:
    get:
      operationId: getAllChanges
      summary: Get All Changes
      description: Returns a list of VCS changes.
      tags:
        - Changes
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/start'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Changes'

  /changes/{changeLocator}:
    get:
      operationId: getChange
      summary: Get Change
      description: Returns details of a specific VCS change.
      tags:
        - Changes
      parameters:
        - name: changeLocator
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Change'

  /testOccurrences:
    get:
      operationId: getAllTestOccurrences
      summary: Get All Test Occurrences
      description: Returns a list of test occurrences.
      tags:
        - Tests
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/start'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestOccurrences'

  /tests:
    get:
      operationId: getAllTests
      summary: Get All Tests
      description: Returns a list of tests.
      tags:
        - Tests
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/start'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tests'

  /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

  /userGroups:
    get:
      operationId: getAllUserGroups
      summary: Get All User Groups
      description: Returns a list of all user groups.
      tags:
        - User Groups
      parameters:
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Groups'
    post:
      operationId: createUserGroup
      summary: Create User Group
      description: Creates a new user group.
      tags:
        - User Groups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
      responses:
        '200':
          description: Group created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'

  /investigations:
    get:
      operationId: getAllInvestigations
      summary: Get All Investigations
      description: Returns a list of all investigations.
      tags:
        - Investigations
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Investigations'

  /mutes:
    get:
      operationId: getAllMutes
      summary: Get All Mutes
      description: Returns a list of all muted tests and problems.
      tags:
        - Mutes
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mutes'
    post:
      operationId: createMute
      summary: Create Mute
      description: Mutes a test or build problem.
      tags:
        - Mutes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Mute'
      responses:
        '200':
          description: Mute created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mute'

  /problemOccurrences:
    get:
      operationId: getAllProblemOccurrences
      summary: Get All Problem Occurrences
      description: Returns a list of build problem occurrences.
      tags:
        - Problems
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemOccurrences'

  /server:
    get:
      operationId: getServerInfo
      summary: Get Server Info
      description: Returns TeamCity server information including version and build number.
      tags:
        - Server
      parameters:
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Server'

  /server/plugins:
    get:
      operationId: getServerPlugins
      summary: Get Server Plugins
      description: Returns a list of installed server plugins.
      tags:
        - Server
      parameters:
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plugins'

  /cloud/profiles:
    get:
      operationId: getAllCloudProfiles
      summary: Get All Cloud Profiles
      description: Returns a list of all cloud profiles.
      tags:
        - Cloud
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudProfiles'

  /cloud/instances:
    get:
      operationId: getAllCloudInstances
      summary: Get All Cloud Instances
      description: Returns a list of all cloud instances.
      tags:
        - Cloud
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudInstances'

  /audit:
    get:
      operationId: getAuditEvents
      summary: Get Audit Events
      description: Returns audit log events.
      tags:
        - Audit
      parameters:
        - $ref: '#/components/parameters/locator'
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/start'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditEvents'

components:
  securitySchemes:
    bearerAuth:
      type: htt

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/teamcity/refs/heads/main/openapi/teamcity-rest-api.yml