# Tags

This sub-resource lets you work with the tags that are added to the specific issue.
|  Resource  |     ```GENERIC /api/issues/{issueID}/tags ```    |
| --- | --- |
|  Returned entity  |  [Tag](api-entity-Tag.html). For the description of the entity attributes, see [Supported Fields](#Tag-supported-fields) section.  |
|  Supported methods  |      * `GET`: [Read a List of Tags](#get_all-Tag-method).    * `POST`: [Add a New Tag](#create-Tag-method).    |

## Tag attributes

Represents a tag.

### Related Resources

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

* [Tags](resource-api-tags.html)

* [Tagged Issues](resource-api-tags-tagID-issues.html)

* [Issue Tags]()

* [Article Tags](resource-api-articles-articleID-tags.html)

* [Tags of a User](resource-api-users-userID-tags.html)

Extends [WatchFolder](api-entity-WatchFolder.html)

### Attributes

This table describes attributes of the `Tag` 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 ID of the tag. `Read-only`.  |
|  issues  |  [Array of Issues](api-entity-Issue.html)  |  The collection of issues that this tag is added to.  |
|  color  |  [FieldStyle](api-entity-FieldStyle.html)  |  The color settings of the tag.  |
|  untagOnResolve  |  Boolean  |  If `true`, this tag will be automatically removed from an issue when the issue is resolved.  |
|  visibleFor  |  [UserGroup](api-entity-UserGroup.html)  |    Deprecated. Use the `readSharingSettings` attribute instead.  Group of users that can see this tag. If the tag is visible only to its owner, this property is `null`.   `Can be null`.  |
|  updateableBy  |  [UserGroup](api-entity-UserGroup.html)  |    Deprecated. Use the `updateSharingSettings` attribute instead.  Group of users that can update this tag. If only the tag's owner can update it, this property is `null`.   `Can be null`.  |
|  readSharingSettings  |  [WatchFolderSharingSettings](api-entity-WatchFolderSharingSettings.html)  |  Users and groups that can see this tag. If the tag is visible only to its owner, this property contains an empty array. `Read-only`.  |
|  tagSharingSettings  |  [TagSharingSettings](api-entity-TagSharingSettings.html)  |  Users and groups that can use this tag. These users can add the tag to or remove the tag from the issues that they also have permission to view and update. If the tag can be used only by its owner, this property contains an empty array. `Read-only`.  |
|  updateSharingSettings  |  [WatchFolderSharingSettings](api-entity-WatchFolderSharingSettings.html)  |  Users and groups that can update this tag. If only the tag's owner can update it, this property contains an empty array. `Read-only`.  |
|  owner  |  [User](api-entity-User.html)  |  The user who created the watch folder. `Read-only`. `Can be null`.  |
|  name  |  String  |  The name of the issue folder.  |

## Read a List of Tags

Get all tags added to the issue that are visible to the current user.

### Request syntax

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

|  null  |  The database ID of Tag  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of Tag 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/NP-12/tags?fields=name,owner(login,name),visibleFor(name,id)
```

#### Sample response body

```JSON
[
  {
    "owner": {
      "login": "john.smith",
      "name": "John Smith",
      "$type": "User"
    },
    "visibleFor": {
      "name": "All Users",
      "id": "23-0",
      "$type": "UserGroup"
    },
    "name": "Blocked by dependency",
    "$type": "Tag"
  },
  {
    "owner": {
      "login": "jane.doe",
      "name": "Jane Doe",
      "$type": "User"
    },
    "visibleFor": {
      "name": "Developers",
      "id": "23-38",
      "$type": "UserGroup"
    },
    "name": "overdue",
    "$type": "Tag"
  }
]
```

## Add a Tag to the Issue

Tag the issue with an existing tag.

Required fields: `id` - the database ID of the tag.

### Required permissions

Requires permissions: Read Issue

The user must be either the tag owner or be a part of the user group that can use the tag.

### Request syntax

```GENERIC
POST /api/issues/{issueID}/tags?{fields}
```

|  null  |  The database ID of Tag  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of Tag attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.  |

### Sample

#### Sample request

```CURL
https://example.youtrack.cloud/api/issues/NP-12/tags?fields=id,name,owner(login,name),visibleFor(name,id)
```

#### Sample request body

```JSON
{ "id": "146-25" }
```

#### Sample response body

```JSON
{
  "owner": {
    "login": "jane.doe",
    "name": "Jane Doe",
    "$type": "User"
  },
  "visibleFor": {
    "name": "All Users",
    "id": "23-0",
    "$type": "UserGroup"
  },
  "name": "productivity",
  "id": "146-25",
  "$type": "Tag"
}
```

