TeamCity REST API Reference 2026.2 Help

VersionedSettingsConfig

Represents a Versioned Settings Config.

Related Help article: Storing Project Settings in Version Control

Properties

portableDsl

Returns true if the Kotlin DSL uses portable (relative) IDs, which makes settings transferable between TeamCity instances; otherwise, false.

vcsRootId

The external ID of the VCS root that stores the versioned settings.

settingsPath

The custom path inside the VCS repository where project settings are stored. If not specified, the default path is used.

buildSettingsMode

Defines which settings are used when running a build. Possible values: 'alwaysUseCurrent', 'useCurrentByDefault', 'useFromVCS'.

dslExecutionMode

Where the versioned settings of the project settings are generated: in the server sandbox, or in a build on an agent. Affects Kotlin DSL only.

showSettingsChanges

Returns true if settings changes committed to the VCS are shown in the build configuration change log; otherwise, false.

synchronizationMode

The synchronization mode for versioned settings. Possible values: 'useParentProjectSettings', 'disabled', 'enabled'.

applyChangesInDependenciesAndVcsSettings

Returns true if versioned settings changes are also applied to dependency build configurations and VCS settings; otherwise, false.

storeSecureValuesOutsideVcs

Returns true if secure values (passwords and tokens) are stored in TeamCity rather than committed to the VCS; otherwise, false.

importDecision

The decision on how to handle a conflict between project settings in TeamCity and in the VCS when enabling versioned settings. Possible values: 'overrideInVCS', 'importFromVCS'.

allowUIEditing

Returns true if editing project settings via the TeamCity UI is allowed when versioned settings are enabled; otherwise, false.

format

The format in which project settings are stored in the VCS, for example 'kotlin' or 'xml'.

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.

<versionedSettingsConfig allowUIEditing="true" applyChangesInDependenciesAndVcsSettings="false" buildSettingsMode="useCurrentByDefault" dslExecutionMode="agent" format="kotlin" importDecision="importFromVCS" portableDsl="true" settingsPath=".teamcity" showSettingsChanges="true" storeSecureValuesOutsideVcs="true" synchronizationMode="enabled" vcsRootId="MyProject_SettingsVcsRoot"/>
{ "dslExecutionMode" : "agent", "portableDsl" : true, "storeSecureValuesOutsideVcs" : true, "buildSettingsMode" : "useCurrentByDefault", "allowUIEditing" : true, "showSettingsChanges" : true, "format" : "kotlin", "vcsRootId" : "MyProject_SettingsVcsRoot", "synchronizationMode" : "enabled", "applyChangesInDependenciesAndVcsSettings" : false, "importDecision" : "importFromVCS", "settingsPath" : ".teamcity" }
Last modified: 18 August 2026