TeamCity REST API Reference 2026.2 Help

LicenseKey

Represents a license key details.

Properties

valid

Indicates whether this license key is recognized and can be used by the current server version.

active

Indicates whether this license key is currently active (in use by the server, considering all added keys).

expired

Indicates whether this license key has passed its expiration date.

obsolete

Indicates whether this license key is obsolete — its maintenance period does not cover the server's effective release date.

expirationDate

The expiration date of this license key, in the format yyyyMMddTHHmmssZ.

maintenanceEndDate

The end date of the maintenance period for this license key, in the format yyyyMMddTHHmmssZ.

type

The type of this license key.

servers

The number of servers covered by this license key (1 for enterprise, 0 otherwise).

agents

The number of build agents authorized by this license key. Absent when unlimitedAgents is true.

unlimitedAgents

Indicates whether this license key authorizes an unlimited number of build agents.

buildTypes

The number of build configurations authorized by this license key. Absent when unlimitedBuildTypes is true.

unlimitedBuildTypes

Indicates whether this license key authorizes an unlimited number of build configurations.

pipelines

The number of pipelines authorized by this license key. Absent when unlimitedPipelines is true.

unlimitedPipelines

Indicates whether this license key authorizes an unlimited number of pipelines.

errorDetails

Details of the validation error for this license key, if the key is invalid.

key

The license key string.

rawType

The raw internal license type identifier.

Schema

Below, you can find a full schema of this object, in XML and JSON formats. You can choose what fields to submit depending on your current needs. Different methods might expect different fields: the best approach is to request this entity via GET and use the response as a base for the following POST request.

A link to another object implies that you can substitute it with the schema of the linked object, if it is required for your call.

<licenseKey active="true" agents="10" buildTypes="100" errorDetails="License key is expired" expirationDate="20261231T000000+0000" expired="false" key="XXXX-XXXX-XXXX-XXXX" maintenanceEndDate="20261231T000000+0000" obsolete="false" pipelines="50" rawType="0" servers="1" type="commercial" unlimitedAgents="false" unlimitedBuildTypes="true" unlimitedPipelines="true" valid="true"/>
{ "rawType" : "0", "unlimitedBuildTypes" : true, "obsolete" : false, "active" : true, "unlimitedAgents" : false, "type" : "commercial", "unlimitedPipelines" : true, "agents" : 10, "valid" : true, "maintenanceEndDate" : "20261231T000000+0000", "expired" : false, "servers" : 1, "pipelines" : 50, "buildTypes" : 100, "key" : "XXXX-XXXX-XXXX-XXXX", "expirationDate" : "20261231T000000+0000", "errorDetails" : "License key is expired" }
Last modified: 18 August 2026