v1

latestOpenAPI 3.1.02026-07-26294215839.4 KB
Time Tracking
Public API

Create Time Tracking Project

Creates a new time tracking project. Returns the newly created project resource on success.

OAuth Scopes: time_tracking:project.write

post/api/v1/time-tracking/projects

Request body

namestring required
billableboolean
includeInPayrollboolean
allEmployeesAssignedboolean

If true, every time-tracked employee is assigned to the project. Ignored when employeeIds is provided.

employeeIdsinteger[]

Specific internal employee IDs to assign. Minimum 1 entry required when provided. Takes precedence over allEmployeesAssigned.

Example request

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

Response

Project created successfully.

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
  ]
}