# Link Issues

This resource lets you read, add, and remove links to other issues for the current one.
|  Resource  |     ```GENERIC /api/issues/{issueID}/links/{linkID}/issues ```    |
| --- | --- |
|  Returned entity  |  [Issue](api-entity-Issue.html). For the description of the entity attributes, see [Supported Fields](#Issue-supported-fields) section.  |
|  Supported methods  |      * `GET`: [Link Issues](#get_all-Issue-method).    * `POST`: [Link Issues](#create-Issue-method).    |

## Issue attributes

Represents an issue in YouTrack.

### Related Resources

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

* [/api/issues](resource-api-issues.html)

* [/api/issues/{issueID}/links/{linkID}/issues]()

* [/api/admin/projects/{projectID}/issues](resource-api-admin-projects-projectID-issues.html)

### 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](api-entity-IssueAttachment.html)  |  The list of attachments in the issue.  |
|  comments  |  [Array of IssueComments](api-entity-IssueComment.html)  |  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](api-entity-IssueCustomField.html)  |  The collection of custom fields that are present in the issue. `Read-only`.  |
|  description  |  String  |  The issue description. `Can be null`.  |
|  draftOwner  |  [User](api-entity-User.html)  |  The creator of the draft if the issue is a draft. `null` if the issue is reported. `Read-only`. `Can be null`.  |
|  externalIssue  |  [ExternalIssue](api-entity-ExternalIssue.html)  |  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](api-entity-IssueLink.html)  |  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](api-entity-IssueLink.html)  |  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](api-entity-IssueComment.html)  |  The list of comments that are pinned in the issue. `Read-only`.  |
|  project  |  [Project](api-entity-Project.html)  |  The project where the issue belongs. `Can be null`.  |
|  reporter  |  [User](api-entity-User.html)  |  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](api-entity-IssueLink.html)  |  The list of sub-tasks of the issue. `Read-only`.  |
|  summary  |  String  |  The issue summary. `Can be null`.  |
|  tags  |  [Array of Tags](api-entity-Tag.html)  |  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](api-entity-User.html)  |  The user who last updated the issue. `Read-only`. `Can be null`.  |
|  visibility  |  [Visibility](api-entity-Visibility.html)  |  Visibility settings of the issue. They describe who is allowed to see the issue. `Can be null`.  |
|  voters  |  [IssueVoters](api-entity-IssueVoters.html)  |  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](api-entity-IssueWatchers.html)  |  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 the List of Linked Issues

Get all issues that are linked to the current one with this link type.

* 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

```GENERIC
GET /api/issues/{issueID}/links/{linkID}/issues?{fields}&{$top}&{$skip}
```

|  null  |  The database ID of Issue  |
| --- | --- |

### 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](api-concept-pagination.html).     |

### Sample

#### Sample request

```CURL
https://example.youtrack.cloud/api/issues/2-33/links/80-1s/issues?fields=id,idReadable,summary)
```

#### Sample response body

```JSON
[
  {
    "summary": "Issue from REST #1",
    "idReadable": "SP-42",
    "id": "2-47",
    "$type": "Issue"
  },
  {
    "summary": "Sample for api/admin/projects/:id/issues endpoint",
    "idReadable": "RP-4",
    "id": "2-72",
    "$type": "Issue"
  }
]
```

## Add a New Link to the Issue

Link the current issue to another issue.

Required fields: `id` - the database ID of the issue you're linking to the current one.

Put the ID of the link type into the URL as `linkID`. To get the list of available link types and choose the one you need, send a GET request to `/api/issueLinkTypes?fields=id,name`. For details, see [Read a List of IssueLinkTypes](https://www.jetbrains.com.cn/en-us/help/youtrack/devportal/resource-api-issueLinkTypes.html).

If the chosen link type is directed, append a direction marker to the ID of the link type:

* For an outward link, append the `s` marker. Example: `80-1s`.

* For an inward link, append the `t` marker. Example: `80-1t`.

If the chosen link type is not directed, use the link type ID without markers. Example: `80-1`.

Read more about issue link types here: [Issue Link Types](https://www.jetbrains.com.cn/en-us/help/youtrack/cloud/Link-Types.html).

### Required permissions

Requires permissions: Link Issue

### Request syntax

```GENERIC
POST /api/issues/{issueID}/links/{linkID}/issues?{fields}&{muteUpdateNotifications}
```

|  null  |  The database ID of Issue  |
| --- | --- |

### 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.  |
|  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

#### Sample request

```CURL
https://example.youtrack.cloud/api/issues/2-33/links/80-1s/issues?fields=id,idReadable,summary
```

#### Sample request body

```JSON
{ "id" : "2-72" }
```

#### Sample response body

```JSON
{
  "summary": "Sample for api/admin/projects/:id/issues endpoint",
  "idReadable": "RP-4",
  "id": "2-72",
  "$type": "Issue"
}
```

