# Work Item Types

This resource lets you configure work item types of the project.
|  Resource  |     ```GENERIC /api/admin/projects/{projectID}/timeTrackingSettings/workItemTypes ```    |
| --- | --- |
|  Returned entity  |  [WorkItemType](api-entity-WorkItemType.html). For the description of the entity attributes, see [Supported Fields](#WorkItemType-supported-fields) section.  |
|  Supported methods  |      * `GET`: [Read a List of WorkItemTypes](#get_all-WorkItemType-method).    * `POST`: [Add a New WorkItemType](#create-WorkItemType-method).    |

## WorkItemType attributes

Represents a work type that can be assigned to a work item.

### Related Resources

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

* [Work Item Types](resource-api-admin-timeTrackingSettings-workItemTypes.html)

* [Work Item Types in a Project]()

### Attributes

This table describes attributes of the `WorkItemType` 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 work item type. `Read-only`.  |
|  name  |  String  |  The name of the work item type.  |
|  autoAttached  |  Boolean  |  If true, this work item type is automatically added to a project, when you enable the time tracking for it.  |

## Read a List of WorkItemTypes

Get the list of all work item types that are used in the project.

### Request syntax

```GENERIC
GET /api/admin/projects/{projectID}/timeTrackingSettings/workItemTypes?{fields}&{$top}&{$skip}
```

|  null  |  The database ID of WorkItemType  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of WorkItemType 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/admin/projects/0-0/timeTrackingSettings/workItemTypes?fields=id,name,url&$top=2
```

#### Sample response body

```JSON
[
  {
    "name": "Development",
    "id": "65-0",
    "$type": "WorkItemType"
  },
  {
    "name": "Testing",
    "id": "65-1",
    "$type": "WorkItemType"
  }
]
```

## Add a New WorkItemType

Add an existing work item type to the project. To create a new work item type, use the System Time Tracking Settings.

Required fields: `id` - the database ID of the work item type.

### Request syntax

```GENERIC
POST /api/admin/projects/{projectID}/timeTrackingSettings/workItemTypes?{fields}
```

|  null  |  The database ID of WorkItemType  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of WorkItemType 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/admin/projects/0-0/timeTrackingSettings/workItemTypes?fields=id,name
```

#### Sample request body

```JSON
{
  "id": "65-3"
}
```

#### Sample response body

```JSON
{
  "name": "R-n-D",
  "id": "65-3",
  "$type": "WorkItemType"
}
```

