# Issue Work Items

This resource lets you work with work items in the specific issue.
|  Resource  |     ```GENERIC /api/issues/{issueID}/timeTracking/workItems ```    |
| --- | --- |
|  Returned entity  |  [IssueWorkItem](api-entity-IssueWorkItem.html). For the description of the entity attributes, see [Supported Fields](#IssueWorkItem-supported-fields) section.  |
|  Supported methods  |      * `GET`: [Read a List of IssueWorkItems](#get_all-IssueWorkItem-method).    * `POST`: [Add a New IssueWorkItem](#create-IssueWorkItem-method).    |

## IssueWorkItem attributes

Represents a work item in an issue.

### Related Resources

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

* [Work Items](resource-api-workItems.html)

* [Work Items in an Issue]()

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

### Attributes

This table describes attributes of the `IssueWorkItem` 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 issue work item. `Read-only`.  |
|  author  |  [User](api-entity-User.html)  |  The user to whom the work is attributed in the work item. `Can be null`.  |
|  creator  |  [User](api-entity-User.html)  |  The user who added the work item to the issue. `Read-only`. `Can be null`.  |
|  text  |  String  |  The work item description. `Can be null`.  |
|  textPreview  |  String  |  Parsed preview of the description. `Read-only`.  |
|  type  |  [WorkItemType](api-entity-WorkItemType.html)  |  The work item type. `Can be null`.  |
|  created  |  Long  |  The timestamp in milliseconds indicating the moment when the work item was created. Stored as a unix timestamp at UTC.  |
|  updated  |  Long  |  The timestamp in milliseconds indicating the last update of the work item. Stored as a unix timestamp at UTC. `Can be null`.  |
|  duration  |  [DurationValue](api-entity-DurationValue.html)  |  The duration of the work item.  |
|  date  |  Long  |  The timestamp in milliseconds indicating the date and time of the work item. Stored as a Unix timestamp in UTC. The time part is set to midnight for the current date.  |
|  issue  |  [Issue](api-entity-Issue.html)  |  Stores attributes of the issue to which the work item is attached. `Read-only`.  |
|  attributes  |  [Array of WorkItemAttributes](api-entity-WorkItemAttribute.html)  |  The list of attributes of the work item. `Read-only`.  |

## Read a List of IssueWorkItems

Get the list of all work items of the specific issue.

### Request syntax

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

|  null  |  The database ID of IssueWorkItem  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of IssueWorkItem 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-35/timeTracking/workItems?fields=author(id,name),creator(id,name),date,duration(id,minutes,presentation),id,name,text,type(id,name)
```

#### Sample response body

```JSON
[
  {
    "date": 1536278400000,
    "duration": {
      "id": "300",
      "minutes": 300,
      "presentation": "5h",
      "$type": "DurationValue"
    },
    "type": {
      "name": "Testing",
      "id": "65-1",
      "$type": "WorkItemType"
    },
    "text": "almost there",
    "creator": {
      "name": "John Smith",
      "id": "1-1",
      "$type": "User"
    },
    "author": {
      "name": "John Smith",
      "id": "1-1",
      "$type": "User"
    },
    "id": "115-0",
    "$type": "IssueWorkItem"
  },
  {
    "date": 1538956800000,
    "duration": {
      "id": "60",
      "minutes": 60,
      "presentation": "1h",
      "$type": "DurationValue"
    },
    "type": {
      "name": "Documentation",
      "id": "65-2",
      "$type": "WorkItemType"
    },
    "text": "added a document for internal parameters. check wiki for details",
    "creator": {
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "author": {
      "name": "Jane Doe",
      "id": "1-3",
      "$type": "User"
    },
    "id": "115-2",
    "$type": "IssueWorkItem"
  },
  {
    "date": 1538956800000,
    "duration": {
      "id": "120",
      "minutes": 120,
      "presentation": "2h",
      "$type": "DurationValue"
    },
    "type": {
      "name": "Testing",
      "id": "65-1",
      "$type": "WorkItemType"
    },
    "text": null,
    "creator": {
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "author": {
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "id": "115-5",
    "$type": "IssueWorkItem"
  },
  {
    "date": 1538956800000,
    "duration": {
      "id": "120",
      "minutes": 120,
      "presentation": "2h",
      "$type": "DurationValue"
    },
    "type": {
      "name": "Testing",
      "id": "65-1",
      "$type": "WorkItemType"
    },
    "text": null,
    "creator": {
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "author": {
      "name": "Jane Doe",
      "id": "1-3",
      "$type": "User"
    },
    "id": "115-6",
    "$type": "IssueWorkItem"
  },
  {
    "date": 1538956800000,
    "duration": {
      "id": "120",
      "minutes": 120,
      "presentation": "2h",
      "$type": "DurationValue"
    },
    "type": {
      "name": "Testing",
      "id": "65-1",
      "$type": "WorkItemType"
    },
    "text": null,
    "creator": {
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    "author": {
      "name": "Jane Doe",
      "id": "1-3",
      "$type": "User"
    },
    "id": "115-7",
    "$type": "IssueWorkItem"
  }
]
```

## Add a New IssueWorkItem

Add a new work item to the issue.

Required fields: `duration` (`minutes` or `presentation`).

### Request syntax

```GENERIC
POST /api/issues/{issueID}/timeTracking/workItems?{fields}&{muteUpdateNotifications}
```

|  null  |  The database ID of IssueWorkItem  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of IssueWorkItem 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-35/timeTracking/workItems?fields=author(id,name),creator(id,name),date,duration(id,minutes,presentation),id,name,text,type(id,name)
```

#### Sample request body

```JSON
{
  "text": "I keep on testing *samples*.",
  "date": 1539000000000,
  "author": {
    "id": "24-0"
  },
  "duration": {
    "minutes": 120
  },
  "type": {
    "id": "49-0"
  }
}
```

#### Sample response body

```JSON
{
  "duration": {
    "presentation": "2h",
    "minutes": 120,
    "id": "120",
    "$type": "DurationValue"
  },
  "date": 1538956800000,
  "type": {
    "name": "Development",
    "id": "49-0",
    "$type": "WorkItemType"
  },
  "text": "I keep on testing *samples*.",
  "author": {
    "name": "Minnie Terry",
    "id": "24-0",
    "$type": "User"
  },
  "creator": {
    "name": "Minnie Terry",
    "id": "24-0",
    "$type": "User"
  },
  "id": "124-222",
  "$type": "IssueWorkItem"
}
```

