llms.txt: machine-readable documentation index. Markdown version of this page is also available.

YouTrack Developer Portal Help

Operations with Specific Role

This resource lets you work with roles in YouTrack.

Available since YouTrack 2026.1.

Resource

/api/roles/{roleID}

Returned entity

Role. For the description of the entity attributes, see Supported Fields section.

Supported methods

Role attributes

Represents a role in YouTrack.

Available since YouTrack 2026.1.

Attributes

This table describes attributes of the Role entity.

  • To receive an attribute in the response from the server, specify it explicitly in the fields request parameter.

  • To update an attribute, provide it in the body of a POST request.

Field

Type

Description

id

String

The database ID of the role. Read-only.

name

String

The name of the role.

description

String

The description of the role. Can be null.

permissions

Array of Permissions

The list of permissions included in the role.

To set or replace the role's permissions, include this attribute in the POST request body. Specify each permission key in a permission object's id attribute.

Read-only.

immutable

Boolean

True for the System Admin role, otherwise false. An immutable role cannot be updated or deleted. Read-only.

Update a Specific Role

Update a specific role.

Required permissions

Requires Admin Update App permission.

Request syntax

POST /api/roles/{roleID}?{fields}

{roleID}

The database ID of Role

Request parameters

Parameter

Type

Description

fields

String

A list of Role attributes that should be returned in the response. If no field is specified, only the entityID is returned.

Sample

Update the description attribute and replace the role's permission set. Include the permissions to retain and their implied permissions.

Sample request

curl --request POST 'https://example.youtrack.cloud/api/roles/28-33?fields=id,name,description,permissions(id),immutable' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <permanent_token>' \ --header 'Content-Type: application/json' \ --data '{ "description": "Read and create issues in assigned scopes.", "permissions": [ { "id": "JetBrains.YouTrack.READ_ISSUE" }, { "id": "JetBrains.YouTrack.CREATE_ISSUE" }, { "id": "jetbrains.jetpass.project-read-basic" } ] }'

Sample request body

{ "description": "Read and create issues in assigned scopes.", "permissions": [ { "id": "JetBrains.YouTrack.READ_ISSUE" }, { "id": "JetBrains.YouTrack.CREATE_ISSUE" }, { "id": "jetbrains.jetpass.project-read-basic" } ] }

Sample response body

{ "description": "Read and create issues in assigned scopes.", "immutable": false, "name": "Issue Reader", "permissions": [ { "id": "JetBrains.YouTrack.READ_ISSUE" }, { "id": "JetBrains.YouTrack.CREATE_ISSUE" }, { "id": "jetbrains.jetpass.project-read-basic" } ], "id": "28-33" }

Read a Specific Role

Get a specific role.

Required permissions

Requires any of the following permissions: Read Role (in at least one scope), Update Organization, or Admin Read App.

Request syntax

GET /api/roles/{roleID}?{fields}

{roleID}

The database ID of the role.

Request parameters

Parameter

Type

Description

fields

String

A list of Role attributes that should be returned in the response. If no field is specified, only the entityID is returned.

Sample

Read the custom Issue Reader role. Replace 28-33 with the role database ID from your instance.

Sample request

curl --get https://example.youtrack.cloud/api/roles/28-33 \ --data-urlencode 'fields=id,name,description,permissions(id),immutable' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <permanent_token>'

Sample response body

{ "description": "Read issues in assigned scopes.", "immutable": false, "name": "Issue Reader", "permissions": [ { "id": "JetBrains.YouTrack.READ_ISSUE" }, { "id": "jetbrains.jetpass.project-read-basic" } ], "id": "28-33" }

Delete a Specific Role

Delete a specific role.

Required permissions

Requires Admin Update App permission. The System Admin role cannot be deleted.

Request syntax

DELETE /api/roles/{roleID}

{roleID}

The database ID of the role.

Request parameters

Parameter

Type

Description

fields

String

A list of Role attributes that should be returned in the response. If no field is specified, only the entityID is returned.

Sample

Delete the custom Issue Reader role.

Sample request

curl --request DELETE https://example.youtrack.cloud/api/roles/28-33 \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <permanent_token>'
02 November 2026