Skip to content
LogoLogo

Time tracking

Manual Task time entries, Workspace rounding policy, and personal timesheets.

Read the Workspace time-tracking policy

GET/api/v1/workspace/time-tracking

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses

Update the Workspace time-tracking policy

PATCH/api/v1/workspace/time-tracking

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

If-MatchRequired
string

Entity tag containing the last policy revision; "0" creates the first persisted policy.

Request Body

application/json
enabledRequired
boolean
rounding_modeRequired
string
Values
exactceil_15_minutesceil_30_minutes

Responses

List live time entries for a Task in a bounded revision-fenced collection

GET/api/v1/tasks/{task_id}/time-entries

Path Parameters

task_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Query Parameters

limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

cursor
string

Signed Task and revision-bound continuation

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses

413Task time entry collection exceeds the 800-entry retained limit

Log manual time against a Task

POST/api/v1/tasks/{task_id}/time-entries

Path Parameters

task_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

Request Body

application/json
durationRequired
string·min 2·max 128
work_dateRequired
string <date>
note
string·max 2000

Responses

Get Task time totals

GET/api/v1/tasks/{task_id}/time-totals

Path Parameters

task_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses

Get Project time totals for a date range

GET/api/v1/projects/{project_id}/time-totals

Path Parameters

project_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Query Parameters

fromRequired
string <date>
toRequired
string <date>

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses

List a Project's recorded time grouped by Task

GET/api/v1/projects/{project_id}/time-task-breakdown

Groups entries by captured Project attribution. Missing Task metadata does not remove historical totals. Pages are ordered by Task ID and must be recaptured from the beginning after a realtime invalidation. The signed continuation is bound to the Workspace, Actor, Project and date range.

Path Parameters

project_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Query Parameters

fromRequired
string <date>
toRequired
string <date>
cursor
string
limit
integer·min 1·max 100·default 100

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses

List recorded entries for one Task in a Project report

GET/api/v1/projects/{project_id}/time-task-entries

Project managers only. Uses the Project captured when each entry was recorded, even if the Task has moved. Pages are ordered by entry ID and must be recaptured from the beginning after a realtime invalidation. The signed continuation is bound to Workspace, Actor, Project, Task and selected range.

Path Parameters

project_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Query Parameters

task_idRequired
string <uuid>
fromRequired
string <date>
toRequired
string <date>
cursor
string
limit
integer·min 1·max 100·default 100

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses

List a Project's recorded time grouped by contributor

GET/api/v1/projects/{project_id}/time-contributor-breakdown

Returns identity-level rows to Project managers and an empty redacted result to other authorized Project readers. Historical Actor attribution is retained when a user is removed; unavailable display names are null. Pages are ordered by Actor ID and must be recaptured from the beginning after a realtime invalidation. The signed continuation is bound to the Workspace, Actor, Project and date range.

Path Parameters

project_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Query Parameters

fromRequired
string <date>
toRequired
string <date>
cursor
string
limit
integer·min 1·max 100·default 100

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses

Correct a time entry

PATCH/api/v1/time-entries/{entry_id}

Path Parameters

entry_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

If-MatchRequired
string

Entity tag containing the resource version last observed by the client.

Request Body

application/json
durationRequired
string·min 2·max 128
work_dateRequired
string <date>
note
string·max 2000

Responses

Void a time entry

DELETE/api/v1/time-entries/{entry_id}

Path Parameters

entry_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

If-MatchRequired
string

Entity tag containing the resource version last observed by the client.

Responses

List the caller's time entries in a date range

GET/api/v1/timesheets/me

Returns up to 100 entries per page with stable totals for the selected range. Follow next with the same range and limit. A changed report revision refuses continuation; ranges over 800 entries return 413 at the retained limit.

Query Parameters

fromRequired
string <date>
toRequired
string <date>
limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

cursor
string·min 1·max 2048

Opaque continuation cursor returned by the preceding page.

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses

Export the caller's time entries as CSV

GET/api/v1/timesheets/me/export

Exports one consistent selected range of at most 800 entries; a larger range returns 413.

Query Parameters

fromRequired
string <date>
toRequired
string <date>
limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

Header Parameters

X-Assign-Realtime-Baseline
string

Upcoming browser-session canonical read. Set to '1' to capture the authorized response and a signed Workspace replay cursor in one snapshot. Apply every required retained read before acknowledging a socket checkpoint. Failed or incomplete reads return no cursor.

Values
1

Responses