Developer Portal for YouTrack and Hub Help

Issues

Resource that provides access to issues.

Resource

/api/issues

Returned entity

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

Supported methods

Supported sub-resources

Issue attributes

Represents an issue in YouTrack.

Related Resources

Below you can find the list of resources that let you work with this entity.

Attributes

This table describes attributes of the Issue 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 issue. Read-only.

attachments

Array of IssueAttachments

The list of attachments in the issue.

comments

Array of IssueComments

A list of comments for the issue.

commentsCount

Int

The number of comments in the issue. Read-only.

created

Long

The timestamp in milliseconds indicating the moment when the issue was created. Stored as a unix timestamp at UTC. Read-only.

customFields

Array of IssueCustomFields

The collection of custom fields that are present in the issue. Read-only.

description

String

The issue description. Can be null.

draftOwner

User

The creator of the draft if the issue is a draft. null if the issue is reported. Read-only. Can be null.

externalIssue

ExternalIssue

Reference to the issue or similar object in an originating third-party system. Read-only. Can be null.

idReadable

String

The issue ID as seen in the YouTrack interface. Read-only.

isDraft

Boolean

true if this issue is a draft, false if it is reported. Read-only.

links

Array of IssueLinks

Issue links (for example, `relates to`, `parent for`, and so on). Read-only.

numberInProject

Long

The issue number in the project. Read-only.

parent

IssueLink

The parent issue for the current one. If the issue is not a sub-task of any issue, then null. Read-only.

pinnedComments

Array of IssueComments

The list of comments that are pinned in the issue. Read-only.

project

Project

The project where the issue belongs. Can be null.

reporter

User

The user who reported (created) the issue. Read-only. Can be null.

resolved

Long

The timestamp in milliseconds indicating the moment when the issue was assigned a state that is considered to be resolved. Stored as a unix timestamp at UTC. null if the issue is still in an unresolved state. Read-only. Can be null.

subtasks

IssueLink

The list of sub-tasks of the issue. Read-only.

summary

String

The issue summary. Can be null.

tags

Array of Tags

The list of tags that are added to the issue.

updated

Long

The timestamp in milliseconds indicating the last update of the issue. Stored as a unix timestamp at UTC. Read-only.

updater

User

The user who last updated the issue. Read-only. Can be null.

visibility

Visibility

Visibility settings of the issue. They describe who is allowed to see the issue. Can be null.

voters

IssueVoters

Object that contains data about voters for the issue and for its duplicates. Read-only.

votes

Int

The sum of votes for this issue and votes for its duplicates. A reporter of a duplicate issue automatically becomes a voter for the main issue. Read-only.

watchers

IssueWatchers

Object that contains data about users watching this issue or its duplicates. Read-only.

wikifiedDescription

String

The issue description as shown in the UI after processing wiki/Markdown markup (including HTML markup). Read-only.

Read a List of Issues

Get all issues that match the specified query.

  • If you don't provide the query parameter, the server returns all issues.

  • If you don't specify any sorting in the query, the default issue sorting is sort by: updated desc.

  • If you don't provide the $top parameter, the number of returned issues is limited to the Max issues to export value in the Global Settings of your YouTrack.

Request syntax

GET /api/issues?{fields}&{$top}&{$skip}&{query}&{customFields}

Request parameters

Parameter

Type

Description

fields

String

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

$skip

Int

Optional. Lets you set a number of returned entities to skip before returning the first one.

$top

Int

Optional. Lets you specify the maximum number of entries that are returned in the response. If you don't set the $top value, the server limits the maximum number of returned entries.

The server returns a maximum of 42 entries for most resources that return collections. For more information, see Pagination.

query

String

Issue search query. Read more about the search syntax here: Search Query Reference

customFields

String

The name of the custom field to show in the response. When you use this parameter and request the custom field data in the request URL, the response only shows the requested custom fields instead of all of them.

To show more than one custom field, use this parameter several times.

See Sample 2 for reference.

Sample 1

Let's get the list of issues filtered by the search query for: me #Unresolved. For each issue, we'll request its database ID, summary, description, and the reporter.

Sample request

https://example.youtrack.cloud/api/issues?query=for:%20me%20%23Unresolved%20&fields=id,summary,description,reporter(login)

Sample response body

[ { "description": null, "summary": "Sprint 3. Task 2", "reporter": { "login": "root", "$type": "User" }, "idReadable": "SP-38", "id": "2-42", "$type": "Issue" }, { "description": "Let's create new issue from REST API", "summary": "Issue from REST #1", "reporter": { "login": "root", "$type": "User" }, "idReadable": "SP-7", "id": "2-6", "$type": "Issue" } ]

Sample 2

Let's get the list of issues and request some of their custom fields values. If we don't set any customFields parameter, the response will contain all the custom fields. To get only the specific custom fields in the response, let's include their names in the customFields parameters. Include a separate customFields parameter in your request URI for each custom field that you want to see in the response.

Sample request

https://example.youtrack.cloud/api/issues?query=for:%20me%20%23Unresolved%20&fields=id,summary,customFields(name,value(name))&customFields=type&customFields=assignee&customFields=priority

Sample response body

[ { "summary": "The report", "customFields": [ { "value": { "name": "Jane Doe", "$type": "User" }, "name": "Assignee", "$type": "SingleUserIssueCustomField" }, { "value": [ { "name": "Major", "$type": "EnumBundleElement" } ], "name": "Priority", "$type": "MultiEnumIssueCustomField" }, { "value": { "name": "Bug", "$type": "EnumBundleElement" }, "name": "Type", "$type": "SingleEnumIssueCustomField" } ], "id": "99-44", "$type": "Issue" }, { "summary": "The release featue", "customFields": [ { "value": { "name": "John Smith", "$type": "User" }, "name": "Assignee", "$type": "SingleUserIssueCustomField" }, { "value": [ { "name": "Major", "$type": "EnumBundleElement" } ], "name": "Priority", "$type": "MultiEnumIssueCustomField" }, { "value": { "name": "Feature", "$type": "EnumBundleElement" }, "name": "Type", "$type": "SingleEnumIssueCustomField" } ], "id": "99-724", "$type": "Issue" } ]

Add a New Issue

Create an issue.

Required fields: summary, project (id).

Required permissions

Requires permissions: Create Issue

Request syntax

POST /api/issues?{fields}&{draftId}&{muteUpdateNotifications}

Request parameters

Parameter

Type

Description

fields

String

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

draftId

String

ID of a draft to report as the new issue. If no draftId is provided, the issue is created from scratch. In this case, you must specify the summary and the project in the request payload.

muteUpdateNotifications

Boolean

Set this parameter to true if no notifications should be sent on changes made by this request. This doesn't mute notifications sent by any workflow rules. Using this parameter requires Apply Commands Silently permission in all projects affected by the request. Available since 2021.3.

Sample

In this example, we create an issue with a specific summary, description, and the value of the Priority custom field.

Sample request

https://example.youtrack.cloud/api/issues?fields=idReadable

Sample request body

{ "summary": "Houston!", "description": "We have a problem!", "project": { "id": "0-0" }, "customFields": [ { "value": { "name": "Critical" }, "name": "Priority", "id": "92-1", "$type": "SingleEnumIssueCustomField" } ] }

Sample response body

{ "idReadable": "SP-39", "$type": "Issue" }
Last modified: 15 March 2024