TeamCity REST API Reference 2025.11 Help

Permission

A permission that defines a specific action (or set of actions) a TeamCity user can perform. The non-editable list of user permissions is available via the /app/rest/users/{userLocator}/permissions endpoint. Permissions are granted to roles, which can then be attached to user groups or individual users.

Related Help article: Managing Roles and Permissions

Properties

id

The unique permission ID.

name

The read-only description of this permission

global

Returns true if the permission can be assigned only globally (for example, the view_audit_log permission); false if it can be limited to a specific TeamCity project (cancel_build or view_project).

This property is a characteristic of a permission itself and does not reflect how this permission is used in a specific role for a specific user. Users can be granted a non-global permission (either directly or by joining a user group) both for individual projects and globally (for all projects on a server). For example, when assigning a role to an individual user, a request body can set the scope parameter to either g (global) or p:{Project_ID}. The actual permission scope for a specific user is stored in the PermissionAssignment.isGlobalScope property.

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.

<permission global="true" id="run_build, view_project, manage_build_problems" name="Configure server data cleanup"/>
{ "name" : "Configure server data cleanup", "global" : true, "id" : "run_build, view_project, manage_build_problems" }
Last modified: 02 December 2025