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 created project with its ID and tasks. When allowAllEmployees is false, the response also includes the employeeIds array of employees who have access.

By default, all employees can log time to the project (allowAllEmployees defaults to true) and the project is billable (billable defaults to true). Set hasTasks to true to enable task-level tracking and provide a tasks array — at least one task is required when hasTasks is true. Project and task names must be unique and may not exceed 50 characters. When allowAllEmployees is false, provide employeeIds to restrict access to specific employees.

OAuth Scopes: time_tracking.write

post/api/v1/time_tracking/projects

Request body

namestring required

Name of the project. Must be unique and no more than 50 characters.

billableboolean

Indicates if the project is billable. Defaults to true if not provided.

allowAllEmployeesboolean

Indicates if all employees can log time for this project. Defaults to true if not provided.

employeeIdsinteger[]

A list of internal employee IDs that can log time for this project. Only used when allowAllEmployees is false.

hasTasksboolean

Indicates if the project has tasks. Defaults to false if not provided.

Example request

{
  "name": "Project A"
}

Response

Project created successfully. Returns the new project with tasks. The employeeIds field is included only when allowAllEmployees is false.

idinteger

ID of the project.

namestring

Name of the project.

employeeIdsinteger[]

A list of internal employee IDs that can log time for this project. If not present, all employees can log time for the project.