# Creates a type of work.

POST https://api.awork.com/api/v1/typeofwork

Creates a type of work. It can then be selected on time entries.

<Check title="Required Permissions" icon="key">The user must be an admin or have `task-manage-config:write` permissions.</Check>

## Request example

```sh
curl -X POST --globoff 'https://api.awork.com/api/v1/typeofwork' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  --data '{
  "name": "Website Design",
  "description": "Creative Website Design",
  "icon": "attach_money"
}'
```

## Request body (application/json)

- `name`: string (required)

- `description`: string or null

- `icon`: string or null

## Response 200

OK

application/json

```json
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "Sales Work",
  "description": "Tasks related to sales dept.",
  "icon": "attach_money",
  "isArchived": true,
  "createdOn": "2022-03-10T16:25:09.100Z",
  "createdBy": "123e4567-e89b-12d3-a456-426614174000",
  "updatedOn": "2022-03-10T18:55:00.500Z",
  "updatedBy": "123e4567-e89b-12d3-a456-426614174000"
}
```

## Response 400

Bad Request

application/json

```json
{
  "code": "not-found",
  "description": "There is no matching path for this URL.",
  "link": "https://developers.awork.com",
  "details": [
    "No project with the id '123' exists."
  ],
  "validationErrors": [
    {
      "property": "FirstName",
      "message": "FirstName is required."
    }
  ],
  "traceId": "a65ce5745df02af216715ff06661fb3a"
}
```
