v1

latestOpenAPI 3.1.02026-07-26294215839.4 KB
Time Tracking
Public API

Update Time Tracking Project

Partially updates a time tracking project identified by its ID. Only fields provided in the request body are updated; omitted fields are left unchanged.

OAuth Scopes: time_tracking:project.write

patch/api/v1/time-tracking/projects/{id}

Path parameters

idinteger required

The project ID.

Request body

namestring

The name of the project.

billableboolean

Whether or not the project is billable.

includeInPayrollboolean

Whether hours logged to this project will show in payroll and payroll reports.

allEmployeesAssignedboolean

Whether all time & attendance employees are assigned or not.

archivedboolean

Whether or not the project is archived.

employeeIdsinteger[]

Array of employee IDs to assign to the project. Replaces the current assignment list when present; an empty array clears all assignments.

hasTasksboolean

Toggles whether time is logged directly to the project (false) or to specific tasks on the project (true). Setting to true requires the project to already have at least one active task; setting to false leaves existing tasks unchanged.

Example request

{
  "name": "Project A",
  "billable": true,
  "includeInPayroll": true,
  "allEmployeesAssigned": true,
  "employeeIds": [
    1,
    2,
    3
  ],
  "hasTasks": true
}

Response

Successfully updated the project.

idinteger

The ID of the project.

namestring

The name of the project.

billableboolean

Whether or not the project is billable.

includeInPayrollboolean

Whether hours logged to this project will show in payroll and payroll reports.

allEmployeesAssignedboolean

Whether all time & attendance employees are assigned or not.

archivedboolean

Whether or not the project is archived.

hasTasksboolean

Whether time is logged to tasks under the project (true) or directly to the project (false).

createdAtstring date-time nullable

ISO 8601 timestamp when the project was created.

updatedAtstring date-time nullable

ISO 8601 timestamp when the project was last updated.

deletedAtstring date-time nullable

ISO 8601 timestamp when the project was deleted.

employeeIdsinteger[]

Array of employeeIds assigned to the project.

Example response

{
  "id": 1,
  "name": "Project A",
  "allEmployeesAssigned": true,
  "hasTasks": true,
  "createdAt": "2025-10-15T16:00:00Z",
  "updatedAt": "2025-10-15T16:00:00Z",
  "deletedAt": "2025-10-15T16:00:00Z",
  "employeeIds": [
    1,
    2,
    3
  ]
}