For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeveloper ForumLogin
  • Overview
    • Introduction
    • Getting Started
    • Integration Example (PSA)
    • Authentication
    • Error Handling
    • Pagination
    • Filtering
    • Ordering
    • Rate Limits
    • Permissions
    • Webhooks
    • MCP Server
    • Versioning
    • Changelog
    • Support
  • API v1 Reference
    • Projects Overview
    • Tasks Overview
    • Time Tracking Overview
      • GETReturns the last time entry of a specified user.
      • GETReturns all time entries of the specified project.
      • GETReturns all time entries of the specified task.
      • GETReturns all time entries.
      • POSTCreates a new time entry.
      • POSTEdits multiple time entries using the specified operation.
      • POSTDeletes the time entry with the specified ids.
      • POSTSets the time entries with the specified ids to billable.
      • POSTSets the time entries with the specified ids to billed.
      • POSTSets the type of work of the specified timeentries.
      • POSTSets the time entries with the specified ids to unbillable.
      • POSTSets the time entries with the specified ids to unbilled.
      • GETRetrieves all time entries with a simplified model based on the grouping parameter.
      • GETGet a time entry by id.
      • PUTUpdates the time entry with the specified id.
      • DELDeletes the time entry with the specified id.
      • POSTHandles removing all breaks from a time entry, effectively resuming the timer.
      • GETReturns the last time entry of a specified user.
    • Documents Overview
    • Search Overview
    • Companies Overview
    • Users Overview
    • Files & Images Overview
    • Custom Fields Overview
    • Workload & Planning Overview
    • Project Templates Overview
    • Workflows Overview
    • Login & Access Overview
    • API Management Overview
LogoLogo
SupportDeveloper ForumLogin
API v1 ReferenceTime Entries

Creates a new time entry.

POST
https://api.awork.com/api/v1/timeentries
POST
/api/v1/timeentries
$curl -X POST https://api.awork.com/api/v1/timeentries \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "timezone": "Europe/Berlin",
> "typeOfWorkId": "123e4567-e89b-12d3-a456-426614174000",
> "userId": "123e4567-e89b-12d3-a456-426614174000"
>}'
1{
2 "timezone": "Europe/Berlin",
3 "typeOfWorkId": "123e4567-e89b-12d3-a456-426614174000",
4 "isBillable": true,
5 "isBilled": false,
6 "taskId": "123e4567-e89b-12d3-a456-426614174000",
7 "projectId": "123e4567-e89b-12d3-a456-426614174000",
8 "note": "I created a first draft for the new sitemap",
9 "startDateUtc": "2022-03-01T00:00:00Z",
10 "startTimeUtc": "09:21:00",
11 "endDateUtc": "2022-03-01T18:21:05Z",
12 "endTimeUtc": "11:45:00",
13 "startDateLocal": "2022-03-01T00:00:00",
14 "startTimeLocal": "10:21:00",
15 "endDateLocal": "2022-03-01T17:21:05",
16 "endTimeLocal": "12:45:00",
17 "duration": 8635,
18 "breakDuration": 1,
19 "userId": "123e4567-e89b-12d3-a456-426614174000",
20 "id": "123e4567-e89b-12d3-a456-426614174000",
21 "createdBy": "123e4567-e89b-12d3-a456-426614174000",
22 "createdOn": "2024-01-15T09:30:00Z",
23 "updatedBy": "123e4567-e89b-12d3-a456-426614174000",
24 "updatedOn": "2024-01-15T09:30:00Z",
25 "typeOfWork": {
26 "id": "123e4567-e89b-12d3-a456-426614174000",
27 "name": "Design",
28 "icon": "thumb_up",
29 "isArchived": false
30 },
31 "user": {
32 "id": "123e4567-e89b-12d3-a456-426614174000",
33 "firstName": "Carla",
34 "lastName": "Creative",
35 "hasImage": true,
36 "isExternal": true
37 },
38 "task": {
39 "id": "123e4567-e89b-12d3-a456-426614174000",
40 "name": "Design",
41 "baseType": "projecttask",
42 "taskIdentifier": "string",
43 "taskStatusId": "123e4567-e89b-12d3-a456-426614174000",
44 "typeOfWorkId": "123e4567-e89b-12d3-a456-426614174000",
45 "project": {
46 "id": "123e4567-e89b-12d3-a456-426614174000",
47 "name": "Design",
48 "projectStatus": {
49 "id": "123e4567-e89b-12d3-a456-426614174000",
50 "name": "Design",
51 "description": "Work in progress",
52 "type": "todo",
53 "isArchived": false
54 },
55 "company": {
56 "id": "123e4567-e89b-12d3-a456-426614174000",
57 "name": "Design",
58 "hasImage": true,
59 "description": "One of our customers"
60 },
61 "projectType": {
62 "id": "123e4567-e89b-12d3-a456-426614174000",
63 "name": "Design",
64 "icon": "thumb_up",
65 "isArchived": false
66 },
67 "projectKey": "string",
68 "isPrivate": false,
69 "hasImage": true,
70 "isExternal": true,
71 "isBillableByDefault": true,
72 "createdBy": "123e4567-e89b-12d3-a456-426614174000"
73 },
74 "projectId": "123e4567-e89b-12d3-a456-426614174000",
75 "plannedDuration": 21600,
76 "closedOn": "2024-01-15T09:30:00Z",
77 "taskStatus": {
78 "id": "123e4567-e89b-12d3-a456-426614174000",
79 "name": "Design",
80 "description": "Work in progress",
81 "type": "todo",
82 "order": 1,
83 "icon": "arrow_forward"
84 },
85 "createdBy": "123e4567-e89b-12d3-a456-426614174000",
86 "correlationId": "123e4567-e89b-12d3-a456-426614174000",
87 "parentId": "123e4567-e89b-12d3-a456-426614174000",
88 "parentTask": {
89 "id": "123e4567-e89b-12d3-a456-426614174000",
90 "name": "Design"
91 }
92 },
93 "project": {
94 "id": "123e4567-e89b-12d3-a456-426614174000",
95 "name": "Design",
96 "projectStatus": {
97 "id": "123e4567-e89b-12d3-a456-426614174000",
98 "name": "Design",
99 "description": "Work in progress",
100 "type": "todo",
101 "isArchived": false
102 },
103 "company": {
104 "id": "123e4567-e89b-12d3-a456-426614174000",
105 "name": "Design",
106 "hasImage": true,
107 "description": "One of our customers"
108 },
109 "projectType": {
110 "id": "123e4567-e89b-12d3-a456-426614174000",
111 "name": "Design",
112 "icon": "thumb_up",
113 "isArchived": false
114 },
115 "projectKey": "string",
116 "isPrivate": false,
117 "hasImage": true,
118 "isExternal": true,
119 "isBillableByDefault": true,
120 "createdBy": "123e4567-e89b-12d3-a456-426614174000"
121 },
122 "breaks": [
123 {
124 "startDate": "2022-01-01T12:00:00Z",
125 "duration": 3600,
126 "endDate": "2022-01-01T13:00:00Z"
127 }
128 ],
129 "resourceVersion": 637825154598057900,
130 "isExternal": true
131}
Creates a new time entry. Depending on the time entry, the calling users has to have several permissions to create the time entry. No permissions are required if the calling user is owner of this time entry. If the calling user is not the creator of the time entry and the time entry is connected to a project, 'write' permissions on the 'project-timetracking' feature are necessary. If the time entry is connected to a task, the user needs to be assignee of this task or the user needs permissions on: 'project-planning-data' if it is a project task. <Check title="Required Permissions" icon="key">Any authenticated user.</Check>
Was this page helpful?
Previous

Edits multiple time entries using the specified operation.

Next
Built with

Creates a new time entry. Depending on the time entry, the calling users has to have several permissions to create the time entry. No permissions are required if the calling user is owner of this time entry. If the calling user is not the creator of the time entry and the time entry is connected to a project, ‘write’ permissions on the ‘project-timetracking’ feature are necessary. If the time entry is connected to a task, the user needs to be assignee of this task or the user needs permissions on: ‘project-planning-data’ if it is a project task.

Required Permissions
Any authenticated user.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

The time entry data.
timezonestringRequired>=1 character
The original timezone of the time tracking. The format of the timezone is the IANA standard.
typeOfWorkIdstringRequiredformat: "uuid"
The id of the type of work.
userIdstringRequiredformat: "uuid"
The id of the user.
isBillablebooleanOptional
Whether the time tracking is billable or not.
isBilledbooleanOptional
Whether the time tracking is billed or not.
taskIdstring or nullOptionalformat: "uuid"
The id of the task.
projectIdstring or nullOptionalformat: "uuid"
The id of the project.
notestring or nullOptional
The note of the time tracking.
startDateUtcstring or nullOptionalformat: "date-time"

The date (in UTC) when the time tracking was started.

startTimeUtcstring or nullOptional

The time (in UTC) when the time tracking was started.

endDateUtcstring or nullOptionalformat: "date-time"

The date (in UTC) when the time tracking was stopped.

endTimeUtcstring or nullOptional

The time (in UTC) when the time tracking was stopped. Required when the time tracking has already been completed and Duration has not been set.

startDateLocalstring or nullOptionalformat: "date-time"

The date (in Local) when the time tracking was started.

startTimeLocalstring or nullOptional

The time (in Local) when the time tracking was started.

endDateLocalstring or nullOptionalformat: "date-time"

The date (in Local) when the time tracking was stopped.

endTimeLocalstring or nullOptional

The time (in Local) when the time tracking was stopped. Required when the time tracking has already been completed and Duration has not been set.

durationinteger or nullOptional
The duration of the time tracking in seconds. Required when the time tracking has already been completed and EndTime has not been set.
breakDurationinteger or nullOptional
The duration of the break in seconds. Cannot be set via API.

Response

OK
timezonestring>=1 character
The original timezone of the time tracking. The format of the timezone is the IANA standard.
typeOfWorkIdstringformat: "uuid"
The id of the type of work.
isBillableboolean
Whether the time tracking is billable or not.
isBilledboolean
Whether the time tracking is billed or not.
taskIdstring or nullformat: "uuid"
The id of the task.
projectIdstring or nullformat: "uuid"
The id of the project.
notestring or null
The note of the time tracking.
startDateUtcstring or nullformat: "date-time"

The date (in UTC) when the time tracking was started.

startTimeUtcstring or null

The time (in UTC) when the time tracking was started.

endDateUtcstring or nullformat: "date-time"

The date (in UTC) when the time tracking was stopped.

endTimeUtcstring or null

The time (in UTC) when the time tracking was stopped. Required when the time tracking has already been completed and Duration has not been set.

startDateLocalstring or nullformat: "date-time"

The date (in Local) when the time tracking was started.

startTimeLocalstring or null

The time (in Local) when the time tracking was started.

endDateLocalstring or nullformat: "date-time"

The date (in Local) when the time tracking was stopped.

endTimeLocalstring or null

The time (in Local) when the time tracking was stopped. Required when the time tracking has already been completed and Duration has not been set.

durationinteger or null
The duration of the time tracking in seconds. Required when the time tracking has already been completed and EndTime has not been set.
breakDurationinteger or null
The duration of the break in seconds. Cannot be set via API.
userIdstring or nullformat: "uuid"
The id of the user. Can be null if the user was deleted.
idstringformat: "uuid"
The id of the time tracking.
createdBystringformat: "uuid"
The id of the user who created this time tracking.
createdOnstringformat: "date-time"
The date this time tracking was created.
updatedBystringformat: "uuid"
The id of the user who last updated this time tracking.
updatedOnstringformat: "date-time"
The date this time tracking was last modified.
typeOfWorkobject
userobject
taskobject
projectobject
breakslist of objects or null
The breaks of the time tracking.
resourceVersionlongRead-only
The version of the entity, updated on every modification, to the ticks in UTC. Not identical to UpdatedOn.
isExternalboolean

True if this entity is coming from an external workspace (awork Connect).

Errors

400
Bad Request Error
401
Unauthorized Error