TeamCity website screenshot

TeamCity

JetBrains TeamCity is a powerful continuous integration and deployment server that helps development teams build, test, and deploy software efficiently. TeamCity provides a comprehensive REST API for automating CI/CD workflows, managing projects, build configurations, agents, and infrastructure.

1 APIs 12 Features
Build AutomationCI/CDContinuous IntegrationDeploymentDevOpsTesting

APIs

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, investigation...

Collections

Pricing Plans

Teamcity Plans Pricing

3 plans

PLANS

Rate Limits

Teamcity Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Build Pipelines

Define multi-stage build pipelines with dependencies and parallel execution.

Build Chains

Create complex build chains with snapshot and artifact dependencies between configurations.

Branch Building

Automatically detect and build feature branches from VCS repositories.

Build Templates

Reusable build configuration templates for standardizing pipeline patterns.

Personal Builds

Run builds with local code changes before committing to the repository.

Cloud Agents

Dynamically provision build agents in the cloud for elastic scaling.

Kotlin DSL Configuration

Define build configurations as code using Kotlin DSL.

Test History and Flaky Tests

Track test history across builds and automatically detect flaky tests.

Investigation Management

Assign responsibility for failing builds and tests to team members.

Build Cache

Cache build dependencies and artifacts for faster subsequent builds.

Composite Builds

Aggregate results from multiple build configurations into a single view.

Audit Trail

Complete audit logging of all administrative actions and configuration changes.

Use Cases

Continuous Integration

Automatically build and test code on every commit or pull request.

Continuous Deployment

Deploy applications to staging and production environments automatically.

Multi-Platform Builds

Build and test across Linux, Windows, and macOS using diverse agent pools.

Monorepo CI

Manage CI/CD for monorepos with selective triggering based on changed paths.

Microservices Pipelines

Orchestrate build and deploy pipelines for microservices architectures.

Release Management

Manage release branches, versioning, and deployment gates.

Infrastructure as Code Testing

Validate Terraform, Kubernetes, and other IaC configurations in CI pipelines.

Mobile App CI/CD

Build, test, and distribute mobile applications for iOS and Android.

Compliance and Audit

Maintain audit trails and enforce build policies for regulatory compliance.

Integrations

GitHub

Pull request building, commit status publishing, and webhook triggers from GitHub.

GitLab

Integration with GitLab repositories for VCS operations and merge request builds.

Bitbucket

Bitbucket Cloud and Server integration for source code and pull request builds.

Docker

Build and push Docker images as part of CI/CD pipelines.

Kubernetes

Deploy to Kubernetes clusters and use Kubernetes pods as build agents.

AWS

AWS S3 artifact storage, EC2/ECS cloud agents, and CodeDeploy integration.

Azure

Azure cloud agents, Azure DevOps integration, and Azure deployment targets.

Jira

Link builds to Jira issues and track deployments.

Slack

Build notifications and status updates via Slack channels.

Terraform

Manage TeamCity infrastructure as code using the official Terraform provider.

HashiCorp Vault

Secure secrets management integration with HashiCorp Vault.

SAML SSO

Single sign-on authentication via SAML identity providers like Okta and OneLogin.

NuGet

NuGet package feed hosting and dependency resolution.

Maven

Maven build runner and artifact repository integration.

Gradle

Gradle build runner with build cache and configuration cache support.

Bazel

Bazel build system support via the TeamCity Bazel plugin.

Semantic Vocabularies

Teamcity Rest Api Context

0 classes · 9 properties

JSON-LD

Resources

🔗
LinkedIn
LinkedIn
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
💰
Pricing
Pricing
📰
Blog
Blog
🔗
X
X
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🟢
StatusPage
StatusPage
🔗
Marketplace
Marketplace
💬
Support
Support
📄
ChangeLog
ChangeLog
🔗
TeamCity CLI
CLI
📦
TeamCity REST Client (Kotlin)
SDKs
📦
Terraform Provider for TeamCity
SDKs

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: TeamCity REST API
  version: 2024.12.1
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: Get All Projects
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/projects
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all projects on the TeamCity server.
  - info:
      name: Create Project
      type: http
    http:
      method: POST
      url: https://{server}/app/rest/projects
      body:
        type: json
        data: '{}'
    docs: Creates a new project on the TeamCity server.
  - info:
      name: Get Project
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/projects/:projectLocator
      params:
      - name: projectLocator
        value: ''
        type: path
        description: Project locator string (e.g., id:MyProject)
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns details of a specific project.
  - info:
      name: Delete Project
      type: http
    http:
      method: DELETE
      url: https://{server}/app/rest/projects/:projectLocator
      params:
      - name: projectLocator
        value: ''
        type: path
        description: Project locator string (e.g., id:MyProject)
    docs: Deletes a specific project from the TeamCity server.
  - info:
      name: Get Project Parameters
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/projects/:projectLocator/parameters
      params:
      - name: projectLocator
        value: ''
        type: path
        description: Project locator string (e.g., id:MyProject)
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns all parameters defined for a project.
  - info:
      name: Get Project Build Configurations
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/projects/:projectLocator/buildTypes
      params:
      - name: projectLocator
        value: ''
        type: path
        description: Project locator string (e.g., id:MyProject)
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns all build configurations for a project.
- info:
    name: Build Configurations
    type: folder
  items:
  - info:
      name: Get All Build Configurations
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/buildTypes
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all build configurations.
  - info:
      name: Get Build Configuration
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/buildTypes/:btLocator
      params:
      - name: btLocator
        value: ''
        type: path
        description: Build type locator string
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns details of a specific build configuration.
  - info:
      name: Get Build Configuration Builds
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/buildTypes/:btLocator/builds
      params:
      - name: btLocator
        value: ''
        type: path
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
      - name: count
        value: ''
        type: query
        description: Maximum number of items to return
      - name: start
        value: ''
        type: query
        description: Index of the first item to return (for pagination)
    docs: Returns builds for a specific build configuration.
  - info:
      name: Get Build Configuration Parameters
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/buildTypes/:btLocator/parameters
      params:
      - name: btLocator
        value: ''
        type: path
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns all parameters defined for a build configuration.
- info:
    name: Builds
    type: folder
  items:
  - info:
      name: Get All Builds
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/builds
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
      - name: count
        value: ''
        type: query
        description: Maximum number of items to return
      - name: start
        value: ''
        type: query
        description: Index of the first item to return (for pagination)
    docs: Returns a list of builds matching the specified criteria.
  - info:
      name: Get Build
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/builds/:buildLocator
      params:
      - name: buildLocator
        value: ''
        type: path
        description: Build locator string
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns details of a specific build.
  - info:
      name: Get Build Tags
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/builds/:buildLocator/tags
      params:
      - name: buildLocator
        value: ''
        type: path
    docs: Returns tags associated with a build.
  - info:
      name: Set Build Tags
      type: http
    http:
      method: PUT
      url: https://{server}/app/rest/builds/:buildLocator/tags
      params:
      - name: buildLocator
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Sets tags for a build, replacing existing tags.
  - info:
      name: Get Build Artifacts
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/builds/:buildLocator/artifacts
      params:
      - name: buildLocator
        value: ''
        type: path
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns the artifacts of a specific build.
  - info:
      name: Get Build Statistics
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/builds/:buildLocator/statistics
      params:
      - name: buildLocator
        value: ''
        type: path
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns statistical values for a specific build.
  - info:
      name: Get Build Problem Occurrences
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/builds/:buildLocator/problemOccurrences
      params:
      - name: buildLocator
        value: ''
        type: path
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns problem occurrences for a specific build.
  - info:
      name: Get Build Test Occurrences
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/builds/:buildLocator/testOccurrences
      params:
      - name: buildLocator
        value: ''
        type: path
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
      - name: count
        value: ''
        type: query
        description: Maximum number of items to return
      - name: start
        value: ''
        type: query
        description: Index of the first item to return (for pagination)
    docs: Returns test occurrences for a specific build.
  - info:
      name: Cancel Build
      type: http
    http:
      method: POST
      url: https://{server}/app/rest/builds/:buildLocator/cancel
      params:
      - name: buildLocator
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Cancels a queued or running build.
- info:
    name: Build Queue
    type: folder
  items:
  - info:
      name: Get Build Queue
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/buildQueue
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns the current build queue.
  - info:
      name: Trigger Build
      type: http
    http:
      method: POST
      url: https://{server}/app/rest/buildQueue
      body:
        type: json
        data: '{}'
    docs: Adds a build to the build queue (triggers a build).
- info:
    name: Agents
    type: folder
  items:
  - info:
      name: Get All Agents
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/agents
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all build agents.
  - info:
      name: Get Agent
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/agents/:agentLocator
      params:
      - name: agentLocator
        value: ''
        type: path
        description: Agent locator string
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns details of a specific build agent.
  - info:
      name: Get Agent Enabled Status
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/agents/:agentLocator/enabled
      params:
      - name: agentLocator
        value: ''
        type: path
    docs: Returns whether an agent is enabled.
  - info:
      name: Set Agent Enabled Status
      type: http
    http:
      method: PUT
      url: https://{server}/app/rest/agents/:agentLocator/enabled
      params:
      - name: agentLocator
        value: ''
        type: path
    docs: Enables or disables a build agent.
  - info:
      name: Get Agent Authorized Status
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/agents/:agentLocator/authorized
      params:
      - name: agentLocator
        value: ''
        type: path
    docs: Returns whether an agent is authorized.
  - info:
      name: Set Agent Authorized Status
      type: http
    http:
      method: PUT
      url: https://{server}/app/rest/agents/:agentLocator/authorized
      params:
      - name: agentLocator
        value: ''
        type: path
    docs: Authorizes or unauthorizes a build agent.
- info:
    name: Agent Pools
    type: folder
  items:
  - info:
      name: Get All Agent Pools
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/agentPools
      params:
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all agent pools.
  - info:
      name: Create Agent Pool
      type: http
    http:
      method: POST
      url: https://{server}/app/rest/agentPools
      body:
        type: json
        data: '{}'
    docs: Creates a new agent pool.
  - info:
      name: Get Agent Pool
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/agentPools/:agentPoolLocator
      params:
      - name: agentPoolLocator
        value: ''
        type: path
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns details of a specific agent pool.
  - info:
      name: Delete Agent Pool
      type: http
    http:
      method: DELETE
      url: https://{server}/app/rest/agentPools/:agentPoolLocator
      params:
      - name: agentPoolLocator
        value: ''
        type: path
    docs: Deletes a specific agent pool.
- info:
    name: VCS Roots
    type: folder
  items:
  - info:
      name: Get All VCS Roots
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/vcs-roots
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all VCS roots.
  - info:
      name: Create VCS Root
      type: http
    http:
      method: POST
      url: https://{server}/app/rest/vcs-roots
      body:
        type: json
        data: '{}'
    docs: Creates a new VCS root.
  - info:
      name: Get VCS Root
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/vcs-roots/:vcsRootLocator
      params:
      - name: vcsRootLocator
        value: ''
        type: path
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns details of a specific VCS root.
  - info:
      name: Delete VCS Root
      type: http
    http:
      method: DELETE
      url: https://{server}/app/rest/vcs-roots/:vcsRootLocator
      params:
      - name: vcsRootLocator
        value: ''
        type: path
    docs: Deletes a specific VCS root.
- info:
    name: Changes
    type: folder
  items:
  - info:
      name: Get All Changes
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/changes
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
      - name: count
        value: ''
        type: query
        description: Maximum number of items to return
      - name: start
        value: ''
        type: query
        description: Index of the first item to return (for pagination)
    docs: Returns a list of VCS changes.
  - info:
      name: Get Change
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/changes/:changeLocator
      params:
      - name: changeLocator
        value: ''
        type: path
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns details of a specific VCS change.
- info:
    name: Tests
    type: folder
  items:
  - info:
      name: Get All Test Occurrences
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/testOccurrences
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
      - name: count
        value: ''
        type: query
        description: Maximum number of items to return
      - name: start
        value: ''
        type: query
        description: Index of the first item to return (for pagination)
    docs: Returns a list of test occurrences.
  - info:
      name: Get All Tests
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/tests
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
      - name: count
        value: ''
        type: query
        description: Maximum number of items to return
      - name: start
        value: ''
        type: query
        description: Index of the first item to return (for pagination)
    docs: Returns a list of tests.
- info:
    name: Users
    type: folder
  items:
  - info:
      name: Get All Users
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/users
      params:
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all users.
  - info:
      name: Create User
      type: http
    http:
      method: POST
      url: https://{server}/app/rest/users
      body:
        type: json
        data: '{}'
    docs: Creates a new user.
  - info:
      name: Get User
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/users/:userLocator
      params:
      - name: userLocator
        value: ''
        type: path
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns details of a specific user.
  - info:
      name: Update User
      type: http
    http:
      method: PUT
      url: https://{server}/app/rest/users/:userLocator
      params:
      - name: userLocator
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Updates an existing user.
  - info:
      name: Delete User
      type: http
    http:
      method: DELETE
      url: https://{server}/app/rest/users/:userLocator
      params:
      - name: userLocator
        value: ''
        type: path
    docs: Deletes a specific user.
- info:
    name: User Groups
    type: folder
  items:
  - info:
      name: Get All User Groups
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/userGroups
      params:
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all user groups.
  - info:
      name: Create User Group
      type: http
    http:
      method: POST
      url: https://{server}/app/rest/userGroups
      body:
        type: json
        data: '{}'
    docs: Creates a new user group.
- info:
    name: Investigations
    type: folder
  items:
  - info:
      name: Get All Investigations
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/investigations
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all investigations.
- info:
    name: Mutes
    type: folder
  items:
  - info:
      name: Get All Mutes
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/mutes
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all muted tests and problems.
  - info:
      name: Create Mute
      type: http
    http:
      method: POST
      url: https://{server}/app/rest/mutes
      body:
        type: json
        data: '{}'
    docs: Mutes a test or build problem.
- info:
    name: Problems
    type: folder
  items:
  - info:
      name: Get All Problem Occurrences
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/problemOccurrences
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of build problem occurrences.
- info:
    name: Server
    type: folder
  items:
  - info:
      name: Get Server Info
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/server
      params:
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns TeamCity server information including version and build number.
  - info:
      name: Get Server Plugins
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/server/plugins
      params:
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of installed server plugins.
- info:
    name: Cloud
    type: folder
  items:
  - info:
      name: Get All Cloud Profiles
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/cloud/profiles
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all cloud profiles.
  - info:
      name: Get All Cloud Instances
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/cloud/instances
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
    docs: Returns a list of all cloud instances.
- info:
    name: Audit
    type: folder
  items:
  - info:
      name: Get Audit Events
      type: http
    http:
      method: GET
      url: https://{server}/app/rest/audit
      params:
      - name: locator
        value: ''
        type: query
        description: TeamCity locator string to filter results
      - name: fields
        value: ''
        type: query
        description: Fields to include in the response (for partial responses)
      - name: count
        value: ''
        type: query
        description: Maximum number of items to return
      - name: start
        value: ''
        type: query
        description: Index of the first item to return (for pagination)
    docs: Returns audit log events.
bundled: true