Tasks 10 endpoints

GET /projects/api/v3/tasklists/{tasklistId}/tasks.json

Return multiple tasks according to the provided filter.

On this endpoint you can filter by custom fields. The syntax for the
query parameter is the following:

customField[id][op]=value

Where:

  • [id] is the custom field ID
  • [op] is the operator to apply when filtering, different operators are
    allowed according to the custom field type
  • [value] is the value to apply when filtering

For example, if I want to filter a dropdown custom field with ID 10 to only
return entries that have the value “Option1” we would do the following:

customField[10][eq]=Option1

The allowed operators are:

  • like
  • not-like
  • eq
  • not
  • lt
  • gt
  • any
operationId: Tasks_getByCustomFields

Parameters

Name In Required Type Description
updatedBefore query optional string

filter by updated before date

updatedAfter query optional string

filter by updated after date

today query optional string

filter by today

taskFilter query optional string

filter by a taskFilter

startDate query optional string

filter on start date

searchTerm query optional string

filter by search term

reportType query optional string

define the type of the report

reportFormat query optional string

define the format of the report

priority query optional string

filter by task priority

orderMode query optional string

order mode

orderBy query optional string

order by

notCompletedBefore query optional string

filter by projects that have not been completed before the given date

endDate query optional string

filter on end date

dueBefore query optional string

filter before a due date

dueAfter query optional string

filter after a due date

deletedAfter query optional string

filter on deleted after date

createdFilter query optional string

filter by created filter

createdDateCode query optional string

filter by created date code

createdBefore query optional string

filter by created before date

createdAfter query optional string

filter by created after date

completedBefore query optional string

filter by completed before date

completedAfter query optional string

filter by completed after date

updatedByUserId query optional integer

filter by updated user id

tasklistId path required integer
parentTaskId query optional integer

filter by parent task ids

pageSize query optional integer

number of items in a page

page query optional integer

page number

orderByCustomFieldId query optional integer

order by custom field id when orderBy is equal to customfield

includeTaskId query optional integer

include task id

filterId query optional integer

provide a user saved filter ID

completedByUserId query optional integer

filter by completed user id

useTaskDateRange query optional boolean

use daterange logic from table when getting the tasks

useStartDatesForTodaysTasks query optional boolean

use start dates for todays tasks

useFormulaFields query optional boolean

use formula fields

useAllProjects query optional boolean

filter on all projects

sortActiveFirst query optional boolean

sort active tasks first

showDeleted query optional boolean

include deleted items

showCompletedLists query optional boolean

include tasks from completed lists

searchCompaniesTeams query optional boolean

include companies and teams in the search term

searchAssignees query optional boolean

include assignees in the search

onlyUntaggedTasks query optional boolean

only untagged tasks

onlyUnplanned query optional boolean

only return tasks that are unplanned. Not assigned, no due date or
missing estimated time.

onlyTasksWithUnreadComments query optional boolean

filter by only tasks with unread comments

onlyTasksWithTickets query optional boolean

filter by only tasks with tickets

onlyTasksWithEstimatedTime query optional boolean

only return tasks with estimated time

onlyStarredProjects query optional boolean

filter by starred projects only

onlyAdminProjects query optional boolean

only include tasks from projects where the user is strictly a project admin.
site admins have visibility to all projects.

nestSubTasks query optional boolean

nest sub tasks

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

matchAllExcludedTags query optional boolean

match all exclude tags

isReportDownload query optional boolean

generate a report export.

includeUpdate query optional boolean

include tasks latest update action

includeUntaggedTasks query optional boolean

include untagged tasks

includeTomorrow query optional boolean

filter by include tomorrow

includeToday query optional boolean

filter by include today

includeTeamUserIds query optional boolean

include members of the given teams

includeTasksWithoutDueDates query optional boolean

include tasks without due dates

includeTasksWithCards query optional boolean

include tasks with cards

includeTasksFromDeletedLists query optional boolean

include tasks from deleted lists

includeRelatedTasks query optional boolean

include ids of completed and active subtasks, dependencies, predecessors

includePrivateItems query optional boolean

include private items

includeOverdueTasks query optional boolean

include overdue tasks

includeOriginalDueDate query optional boolean

include original due date of a task

includeCustomFields query optional boolean

include custom fields

includeCompletedTasks query optional boolean

include completed tasks

includeCompanyUserIds query optional boolean

include members of the given companies

includeCommentStats query optional boolean

include number of unread and read comments for each task

includeBlocked query optional boolean

filter by include blocked

includeAttachmentCommentStats query optional boolean

include number of unread and read comments for each file attachment

includeAssigneeTeams query optional boolean

include teams related to the responsible user ids

includeAssigneeCompanies query optional boolean

include companies related to the responsible user ids

includeArchivedProjects query optional boolean

include archived projects

includeAllComments query optional boolean

include all comments

groupByTasklist query optional boolean

group by tasklist

groupByTaskgroup query optional boolean

group by taskgroup

getSubTasks query optional boolean

get sub tasks

getFiles query optional boolean

get files

fallbackToMilestoneDueDate query optional boolean

set due date as milestone due date if due date is null and there’s a related milestone

extractTemplateRoleName query optional boolean

For tasks created in a project template it’s possible to assign a role instead of people, companies or teams.
This role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name
and return it inside a special field.

excludeAssigneeNotOnProjectTeams query optional boolean

exclude assignee not on project teams

completedOnly query optional boolean

only completed tasks

checkForReminders query optional boolean

check if task has reminders

allowAssigneesOutsideProject query optional boolean

when filtering by assigned or unassagned tasks, include assignees that
are not in the project.

tasksSelectedColumns query optional array

customise the report by selecting columns to be displayed for tasks report

tasklistIds query optional array

filter by tasklist ids

taskgroupIds query optional array

filter by taskgroup ids

taskIncludedSet query optional array

filter by task included set

tags query optional array

filter by tag values

tagIds query optional array

filter by tag ids

status query optional array

filter by list of task status

skipCRMDealIds query optional array

skip crm deal ids

selectedColumns query optional array

customise the report by selecting columns to be displayed for planned vs actual.

responsiblePartyIds query optional array

filter by responsible party ids

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project status

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectFeaturesEnabled query optional array

filter by projects that have features enabled

projectCompanyIds query optional array

filter by company ids

projectCategoryIds query optional array

filter by project category ids

includeCustomFieldIds query optional array

include specific custom fields

include query optional array

include

ids query optional array

filter by task ids

followedByUserIds query optional array

filter by followed by user ids

filterBoardColumnIds query optional array

filter by board column ids

fields[users] query optional array
fields[timers] query optional array
fields[teams] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[taskgroups] query optional array
fields[taskSequences] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[lockdowns] query optional array
fields[files] query optional array
fields[companies] query optional array
fields[comments] query optional array
fields[columns] query optional array
fields[cards] query optional array
fields[ProjectPermissions] query optional array
expandedIds query optional array

the ids of the expanded tasks

excludeTagIds query optional array

filter by excluded tag ids

crmDealIds query optional array

filter by crm deal ids

createdByUserIds query optional array

filter by creator user ids

assigneeTeamIds query optional array

filter by assignee team ids

assigneeCompanyIds query optional array

filter by assignee company ids

CustomFields query optional array

filter by custom fields

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/tasklists/{tasklistId}/tasks.json
POST /projects/api/v3/tasklists/{tasklistId}/tasks.json

Create a new task in the provided task list.

operationId: Tasks_createNewTask

Parameters

Name In Required Type Description
tasklistId path required integer

Request Body

application/json
schema task.Request
Property Type Required
card object optional
columnId integer optional
tags array optional
name string optional
color string optional
projectId integer optional
task object optional
name string optional
dueAt object optional
Set boolean optional
Null boolean optional
Value object optional
status string optional
tagIds array optional
private boolean optional
startAt object optional
Set boolean optional
Null boolean optional
Value object optional
priority object optional
Set boolean optional
Null boolean optional
Value string optional
progress integer optional
ticketId integer optional
assignees object optional
teamIds object optional
Set boolean optional
Null boolean optional
Value array optional
userIds object optional
Set boolean optional
Null boolean optional
Value array optional
companyIds object optional
Set boolean optional
Null boolean optional
Value array optional
createdAt string optional
createdBy integer optional
reminders array optional
note string optional
type string optional
userId integer optional
remindAt string optional
isRelative boolean optional
relativeNumberDays integer optional
crmDealIds array optional
tasklistId integer optional
completedAt string optional
completedBy integer optional
description string optional
taskgroupId integer optional
customFields object optional
Values array optional
value object optional
countryCode string optional
customfieldId integer optional
currencySymbol string optional
urlTextToDisplay string optional
…11 more object optional
workflows object optional
stageId integer optional
workflowId integer optional
positionAfterTask integer optional
attachments object optional
files array optional
id integer optional
categoryId integer optional
pendingFiles array optional
reference string optional
categoryId integer optional
taskOptions object optional
notify boolean optional
isTemplate boolean optional
fireWebhook boolean optional
logActivity boolean optional
useDefaults boolean optional
pushSubtasks boolean optional
everyoneMustDo boolean optional
pushDependents boolean optional
appendAssignees boolean optional
parseInlineTags boolean optional
useNotifyViaTWIM boolean optional
checkInvalidusers boolean optional
shiftProjectDates boolean optional
positionAfterTaskId integer optional
predecessors array optional
id integer optional
type string optional
attachmentOptions object optional
removeOtherFiles boolean optional

Responses

201

201 Created

400

400 Bad Request

403

403 Forbidden

POST /projects/api/v3/tasklists/{tasklistId}/tasks.json
GET /projects/api/v3/tasks.json

Return multiple tasks according to the provided filter.

On this endpoint you can filter by custom fields. The syntax for the
query parameter is the following:

customField[id][op]=value

Where:

  • [id] is the custom field ID
  • [op] is the operator to apply when filtering, different operators are
    allowed according to the custom field type
  • [value] is the value to apply when filtering

For example, if I want to filter a dropdown custom field with ID 10 to only
return entries that have the value “Option1” we would do the following:

customField[10][eq]=Option1

The allowed operators are:

  • like
  • not-like
  • eq
  • not
  • lt
  • gt
  • any
operationId: Tasks_getAllTasks

Parameters

Name In Required Type Description
updatedBefore query optional string

filter by updated before date

updatedAfter query optional string

filter by updated after date

today query optional string

filter by today

taskFilter query optional string

filter by a taskFilter

startDate query optional string

filter on start date

searchTerm query optional string

filter by search term

reportType query optional string

define the type of the report

reportFormat query optional string

define the format of the report

priority query optional string

filter by task priority

orderMode query optional string

order mode

orderBy query optional string

order by

notCompletedBefore query optional string

filter by projects that have not been completed before the given date

endDate query optional string

filter on end date

dueBefore query optional string

filter before a due date

dueAfter query optional string

filter after a due date

deletedAfter query optional string

filter on deleted after date

createdFilter query optional string

filter by created filter

createdDateCode query optional string

filter by created date code

createdBefore query optional string

filter by created before date

createdAfter query optional string

filter by created after date

completedBefore query optional string

filter by completed before date

completedAfter query optional string

filter by completed after date

updatedByUserId query optional integer

filter by updated user id

parentTaskId query optional integer

filter by parent task ids

pageSize query optional integer

number of items in a page

page query optional integer

page number

orderByCustomFieldId query optional integer

order by custom field id when orderBy is equal to customfield

includeTaskId query optional integer

include task id

filterId query optional integer

provide a user saved filter ID

completedByUserId query optional integer

filter by completed user id

useTaskDateRange query optional boolean

use daterange logic from table when getting the tasks

useStartDatesForTodaysTasks query optional boolean

use start dates for todays tasks

useFormulaFields query optional boolean

use formula fields

useAllProjects query optional boolean

filter on all projects

sortActiveFirst query optional boolean

sort active tasks first

showDeleted query optional boolean

include deleted items

showCompletedLists query optional boolean

include tasks from completed lists

searchCompaniesTeams query optional boolean

include companies and teams in the search term

searchAssignees query optional boolean

include assignees in the search

onlyUntaggedTasks query optional boolean

only untagged tasks

onlyUnplanned query optional boolean

only return tasks that are unplanned. Not assigned, no due date or
missing estimated time.

onlyTasksWithUnreadComments query optional boolean

filter by only tasks with unread comments

onlyTasksWithTickets query optional boolean

filter by only tasks with tickets

onlyTasksWithEstimatedTime query optional boolean

only return tasks with estimated time

onlyStarredProjects query optional boolean

filter by starred projects only

onlyAdminProjects query optional boolean

only include tasks from projects where the user is strictly a project admin.
site admins have visibility to all projects.

nestSubTasks query optional boolean

nest sub tasks

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

matchAllExcludedTags query optional boolean

match all exclude tags

isReportDownload query optional boolean

generate a report export.

includeUpdate query optional boolean

include tasks latest update action

includeUntaggedTasks query optional boolean

include untagged tasks

includeTomorrow query optional boolean

filter by include tomorrow

includeToday query optional boolean

filter by include today

includeTeamUserIds query optional boolean

include members of the given teams

includeTasksWithoutDueDates query optional boolean

include tasks without due dates

includeTasksWithCards query optional boolean

include tasks with cards

includeTasksFromDeletedLists query optional boolean

include tasks from deleted lists

includeRelatedTasks query optional boolean

include ids of completed and active subtasks, dependencies, predecessors

includePrivateItems query optional boolean

include private items

includeOverdueTasks query optional boolean

include overdue tasks

includeOriginalDueDate query optional boolean

include original due date of a task

includeCustomFields query optional boolean

include custom fields

includeCompletedTasks query optional boolean

include completed tasks

includeCompanyUserIds query optional boolean

include members of the given companies

includeCommentStats query optional boolean

include number of unread and read comments for each task

includeBlocked query optional boolean

filter by include blocked

includeAttachmentCommentStats query optional boolean

include number of unread and read comments for each file attachment

includeAssigneeTeams query optional boolean

include teams related to the responsible user ids

includeAssigneeCompanies query optional boolean

include companies related to the responsible user ids

includeArchivedProjects query optional boolean

include archived projects

includeAllComments query optional boolean

include all comments

groupByTasklist query optional boolean

group by tasklist

groupByTaskgroup query optional boolean

group by taskgroup

getSubTasks query optional boolean

get sub tasks

getFiles query optional boolean

get files

fallbackToMilestoneDueDate query optional boolean

set due date as milestone due date if due date is null and there’s a related milestone

extractTemplateRoleName query optional boolean

For tasks created in a project template it’s possible to assign a role instead of people, companies or teams.
This role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name
and return it inside a special field.

excludeAssigneeNotOnProjectTeams query optional boolean

exclude assignee not on project teams

completedOnly query optional boolean

only completed tasks

checkForReminders query optional boolean

check if task has reminders

allowAssigneesOutsideProject query optional boolean

when filtering by assigned or unassagned tasks, include assignees that
are not in the project.

tasksSelectedColumns query optional array

customise the report by selecting columns to be displayed for tasks report

tasklistIds query optional array

filter by tasklist ids

taskgroupIds query optional array

filter by taskgroup ids

taskIncludedSet query optional array

filter by task included set

tags query optional array

filter by tag values

tagIds query optional array

filter by tag ids

status query optional array

filter by list of task status

skipCRMDealIds query optional array

skip crm deal ids

selectedColumns query optional array

customise the report by selecting columns to be displayed for planned vs actual.

responsiblePartyIds query optional array

filter by responsible party ids

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project status

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectFeaturesEnabled query optional array

filter by projects that have features enabled

projectCompanyIds query optional array

filter by company ids

projectCategoryIds query optional array

filter by project category ids

includeCustomFieldIds query optional array

include specific custom fields

include query optional array

include

ids query optional array

filter by task ids

followedByUserIds query optional array

filter by followed by user ids

filterBoardColumnIds query optional array

filter by board column ids

fields[users] query optional array
fields[timers] query optional array
fields[teams] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[taskgroups] query optional array
fields[taskSequences] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[lockdowns] query optional array
fields[files] query optional array
fields[companies] query optional array
fields[comments] query optional array
fields[columns] query optional array
fields[cards] query optional array
fields[ProjectPermissions] query optional array
expandedIds query optional array

the ids of the expanded tasks

excludeTagIds query optional array

filter by excluded tag ids

crmDealIds query optional array

filter by crm deal ids

createdByUserIds query optional array

filter by creator user ids

assigneeTeamIds query optional array

filter by assignee team ids

assigneeCompanyIds query optional array

filter by assignee company ids

CustomFields query optional array

filter by custom fields

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/tasks.json
GET /projects/api/v3/tasks/metrics/complete.json

Returns the total number of completed tasks. Only the tasks that the
logged-in user can access will be counted.

operationId: Tasks_getCompletedCount

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/tasks/metrics/complete.json
GET /projects/api/v3/tasks/metrics/late.json

Returns the number of late tasks. Only the tasks that the logged-in user has
access to will be counted.

operationId: Tasks_getLateTaskCount

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/tasks/metrics/late.json
DELETE /projects/api/v3/tasks/{taskId}.json

Delete a task and its subtasks.

operationId: Tasks_deleteTask

Parameters

Name In Required Type Description
taskId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/tasks/{taskId}.json
GET /projects/api/v3/tasks/{taskId}.json

Returns the information about a specific task.

On this endpoint you can filter by custom fields. The syntax for the
query parameter is the following:

customField[id][op]=value

Where:

  • [id] is the custom field ID
  • [op] is the operator to apply when filtering, different operators are
    allowed according to the custom field type
  • [value] is the value to apply when filtering

For example, if I want to filter a dropdown custom field with ID 10 to only
return entries that have the value “Option1” we would do the following:

customField[10][eq]=Option1

The allowed operators are:

  • like
  • not-like
  • eq
  • not
  • lt
  • gt
  • any
operationId: Tasks_getSpecificTask

Parameters

Name In Required Type Description
taskId path required integer

Responses

200

200 OK

400

400 Bad Request

404

404 Not Found (no data)

GET /projects/api/v3/tasks/{taskId}.json
PATCH /projects/api/v3/tasks/{taskId}.json

Modify the properties of an existing task.

operationId: Tasks_updateExistingTask

Parameters

Name In Required Type Description
taskId path required integer

Request Body

application/json
schema task.Request
Property Type Required
card object optional
columnId integer optional
tags array optional
name string optional
color string optional
projectId integer optional
task object optional
name string optional
dueAt object optional
Set boolean optional
Null boolean optional
Value object optional
status string optional
tagIds array optional
private boolean optional
startAt object optional
Set boolean optional
Null boolean optional
Value object optional
priority object optional
Set boolean optional
Null boolean optional
Value string optional
progress integer optional
ticketId integer optional
assignees object optional
teamIds object optional
Set boolean optional
Null boolean optional
Value array optional
userIds object optional
Set boolean optional
Null boolean optional
Value array optional
companyIds object optional
Set boolean optional
Null boolean optional
Value array optional
createdAt string optional
createdBy integer optional
reminders array optional
note string optional
type string optional
userId integer optional
remindAt string optional
isRelative boolean optional
relativeNumberDays integer optional
crmDealIds array optional
tasklistId integer optional
completedAt string optional
completedBy integer optional
description string optional
taskgroupId integer optional
customFields object optional
Values array optional
value object optional
countryCode string optional
customfieldId integer optional
currencySymbol string optional
urlTextToDisplay string optional
…11 more object optional
workflows object optional
stageId integer optional
workflowId integer optional
positionAfterTask integer optional
attachments object optional
files array optional
id integer optional
categoryId integer optional
pendingFiles array optional
reference string optional
categoryId integer optional
taskOptions object optional
notify boolean optional
isTemplate boolean optional
fireWebhook boolean optional
logActivity boolean optional
useDefaults boolean optional
pushSubtasks boolean optional
everyoneMustDo boolean optional
pushDependents boolean optional
appendAssignees boolean optional
parseInlineTags boolean optional
useNotifyViaTWIM boolean optional
checkInvalidusers boolean optional
shiftProjectDates boolean optional
positionAfterTaskId integer optional
predecessors array optional
id integer optional
type string optional
attachmentOptions object optional
removeOtherFiles boolean optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

PATCH /projects/api/v3/tasks/{taskId}.json
GET /projects/api/v3/tasks/{taskId}/subtasks.json

Return multiple subtasks according to the provided filter.

On this endpoint you can filter by custom fields. The syntax for the
query parameter is the following:

customField[id][op]=value

Where:

  • [id] is the custom field ID
  • [op] is the operator to apply when filtering, different operators are
    allowed according to the custom field type
  • [value] is the value to apply when filtering

For example, if I want to filter a dropdown custom field with ID 10 to only
return entries that have the value “Option1” we would do the following:

customField[10][eq]=Option1

The allowed operators are:

  • like
  • not-like
  • eq
  • not
  • lt
  • gt
  • any
operationId: Tasks_getSubtasks

Parameters

Name In Required Type Description
updatedBefore query optional string

filter by updated before date

updatedAfter query optional string

filter by updated after date

today query optional string

filter by today

taskFilter query optional string

filter by a taskFilter

startDate query optional string

filter on start date

searchTerm query optional string

filter by search term

reportType query optional string

define the type of the report

reportFormat query optional string

define the format of the report

priority query optional string

filter by task priority

orderMode query optional string

order mode

orderBy query optional string

order by

notCompletedBefore query optional string

filter by projects that have not been completed before the given date

endDate query optional string

filter on end date

dueBefore query optional string

filter before a due date

dueAfter query optional string

filter after a due date

deletedAfter query optional string

filter on deleted after date

createdFilter query optional string

filter by created filter

createdDateCode query optional string

filter by created date code

createdBefore query optional string

filter by created before date

createdAfter query optional string

filter by created after date

completedBefore query optional string

filter by completed before date

completedAfter query optional string

filter by completed after date

updatedByUserId query optional integer

filter by updated user id

taskId path required integer
parentTaskId query optional integer

filter by parent task ids

pageSize query optional integer

number of items in a page

page query optional integer

page number

orderByCustomFieldId query optional integer

order by custom field id when orderBy is equal to customfield

includeTaskId query optional integer

include task id

filterId query optional integer

provide a user saved filter ID

completedByUserId query optional integer

filter by completed user id

useTaskDateRange query optional boolean

use daterange logic from table when getting the tasks

useStartDatesForTodaysTasks query optional boolean

use start dates for todays tasks

useFormulaFields query optional boolean

use formula fields

useAllProjects query optional boolean

filter on all projects

sortActiveFirst query optional boolean

sort active tasks first

showDeleted query optional boolean

include deleted items

showCompletedLists query optional boolean

include tasks from completed lists

searchCompaniesTeams query optional boolean

include companies and teams in the search term

searchAssignees query optional boolean

include assignees in the search

onlyUntaggedTasks query optional boolean

only untagged tasks

onlyUnplanned query optional boolean

only return tasks that are unplanned. Not assigned, no due date or
missing estimated time.

onlyTasksWithUnreadComments query optional boolean

filter by only tasks with unread comments

onlyTasksWithTickets query optional boolean

filter by only tasks with tickets

onlyTasksWithEstimatedTime query optional boolean

only return tasks with estimated time

onlyStarredProjects query optional boolean

filter by starred projects only

onlyAdminProjects query optional boolean

only include tasks from projects where the user is strictly a project admin.
site admins have visibility to all projects.

nestSubTasks query optional boolean

nest sub tasks

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

matchAllExcludedTags query optional boolean

match all exclude tags

isReportDownload query optional boolean

generate a report export.

includeUpdate query optional boolean

include tasks latest update action

includeUntaggedTasks query optional boolean

include untagged tasks

includeTomorrow query optional boolean

filter by include tomorrow

includeToday query optional boolean

filter by include today

includeTeamUserIds query optional boolean

include members of the given teams

includeTasksWithoutDueDates query optional boolean

include tasks without due dates

includeTasksWithCards query optional boolean

include tasks with cards

includeTasksFromDeletedLists query optional boolean

include tasks from deleted lists

includeRelatedTasks query optional boolean

include ids of completed and active subtasks, dependencies, predecessors

includePrivateItems query optional boolean

include private items

includeOverdueTasks query optional boolean

include overdue tasks

includeOriginalDueDate query optional boolean

include original due date of a task

includeCustomFields query optional boolean

include custom fields

includeCompletedTasks query optional boolean

include completed tasks

includeCompanyUserIds query optional boolean

include members of the given companies

includeCommentStats query optional boolean

include number of unread and read comments for each task

includeBlocked query optional boolean

filter by include blocked

includeAttachmentCommentStats query optional boolean

include number of unread and read comments for each file attachment

includeAssigneeTeams query optional boolean

include teams related to the responsible user ids

includeAssigneeCompanies query optional boolean

include companies related to the responsible user ids

includeArchivedProjects query optional boolean

include archived projects

includeAllComments query optional boolean

include all comments

groupByTasklist query optional boolean

group by tasklist

groupByTaskgroup query optional boolean

group by taskgroup

getSubTasks query optional boolean

get sub tasks

getFiles query optional boolean

get files

fallbackToMilestoneDueDate query optional boolean

set due date as milestone due date if due date is null and there’s a related milestone

extractTemplateRoleName query optional boolean

For tasks created in a project template it’s possible to assign a role instead of people, companies or teams.
This role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name
and return it inside a special field.

excludeAssigneeNotOnProjectTeams query optional boolean

exclude assignee not on project teams

completedOnly query optional boolean

only completed tasks

checkForReminders query optional boolean

check if task has reminders

allowAssigneesOutsideProject query optional boolean

when filtering by assigned or unassagned tasks, include assignees that
are not in the project.

tasksSelectedColumns query optional array

customise the report by selecting columns to be displayed for tasks report

tasklistIds query optional array

filter by tasklist ids

taskgroupIds query optional array

filter by taskgroup ids

taskIncludedSet query optional array

filter by task included set

tags query optional array

filter by tag values

tagIds query optional array

filter by tag ids

status query optional array

filter by list of task status

skipCRMDealIds query optional array

skip crm deal ids

selectedColumns query optional array

customise the report by selecting columns to be displayed for planned vs actual.

responsiblePartyIds query optional array

filter by responsible party ids

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project status

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectFeaturesEnabled query optional array

filter by projects that have features enabled

projectCompanyIds query optional array

filter by company ids

projectCategoryIds query optional array

filter by project category ids

includeCustomFieldIds query optional array

include specific custom fields

include query optional array

include

ids query optional array

filter by task ids

followedByUserIds query optional array

filter by followed by user ids

filterBoardColumnIds query optional array

filter by board column ids

fields[users] query optional array
fields[timers] query optional array
fields[teams] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[taskgroups] query optional array
fields[taskSequences] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[lockdowns] query optional array
fields[files] query optional array
fields[companies] query optional array
fields[comments] query optional array
fields[columns] query optional array
fields[cards] query optional array
fields[ProjectPermissions] query optional array
expandedIds query optional array

the ids of the expanded tasks

excludeTagIds query optional array

filter by excluded tag ids

crmDealIds query optional array

filter by crm deal ids

createdByUserIds query optional array

filter by creator user ids

assigneeTeamIds query optional array

filter by assignee team ids

assigneeCompanyIds query optional array

filter by assignee company ids

CustomFields query optional array

filter by custom fields

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/tasks/{taskId}/subtasks.json
POST /projects/api/v3/tasks/{taskId}/subtasks.json

Create a new subtask under the provided parent task.

operationId: Tasks_createSubtask

Parameters

Name In Required Type Description
taskId path required integer

Request Body

application/json
schema task.Request
Property Type Required
card object optional
columnId integer optional
tags array optional
name string optional
color string optional
projectId integer optional
task object optional
name string optional
dueAt object optional
Set boolean optional
Null boolean optional
Value object optional
status string optional
tagIds array optional
private boolean optional
startAt object optional
Set boolean optional
Null boolean optional
Value object optional
priority object optional
Set boolean optional
Null boolean optional
Value string optional
progress integer optional
ticketId integer optional
assignees object optional
teamIds object optional
Set boolean optional
Null boolean optional
Value array optional
userIds object optional
Set boolean optional
Null boolean optional
Value array optional
companyIds object optional
Set boolean optional
Null boolean optional
Value array optional
createdAt string optional
createdBy integer optional
reminders array optional
note string optional
type string optional
userId integer optional
remindAt string optional
isRelative boolean optional
relativeNumberDays integer optional
crmDealIds array optional
tasklistId integer optional
completedAt string optional
completedBy integer optional
description string optional
taskgroupId integer optional
customFields object optional
Values array optional
value object optional
countryCode string optional
customfieldId integer optional
currencySymbol string optional
urlTextToDisplay string optional
…11 more object optional
workflows object optional
stageId integer optional
workflowId integer optional
positionAfterTask integer optional
attachments object optional
files array optional
id integer optional
categoryId integer optional
pendingFiles array optional
reference string optional
categoryId integer optional
taskOptions object optional
notify boolean optional
isTemplate boolean optional
fireWebhook boolean optional
logActivity boolean optional
useDefaults boolean optional
pushSubtasks boolean optional
everyoneMustDo boolean optional
pushDependents boolean optional
appendAssignees boolean optional
parseInlineTags boolean optional
useNotifyViaTWIM boolean optional
checkInvalidusers boolean optional
shiftProjectDates boolean optional
positionAfterTaskId integer optional
predecessors array optional
id integer optional
type string optional
attachmentOptions object optional
removeOtherFiles boolean optional

Responses

201

201 Created

400

400 Bad Request

403

403 Forbidden

POST /projects/api/v3/tasks/{taskId}/subtasks.json

Timetracking 25 endpoints

GET /projects/api/v3/allocations/{allocationId}/time.json

Return logged time entries for a specific allocation. Only the time entries that
the logged-in user can access will be returned.

operationId: TimeTracking_getTimeEntriesForAllocation

Parameters

Name In Required Type Description
updatedAfter query optional string

filter by updated after date

startDate query optional string

filter by a starting date

reportFormat query optional string

define the format of the report

projectStatus query optional string

filter by project status

orderMode query optional string

order mode

orderBy query optional string

sort order

invoicedType query optional string

filter by invoiced type

endDate query optional string

filter by an ending date

billableType query optional string

filter by billable type

updatedBy query optional integer

filter by the user who updated the timelog

ticketId query optional integer

filter by ticket id

tasklistId query optional integer

filter by tasklist id

taskId query optional integer

filter by task id (deprecated, use taskIds)

projectId query optional integer

filter by project id (deprecated, use projectIds)

pageSize query optional integer

number of items in a page

page query optional integer

page number

budgetId query optional integer

filter by budget id

allocationId path required integer
allocationId query optional integer

filter by allocation id

unattachedTimelogs query optional boolean

filter by timelogs that are directly logged against projects and not its child tasks

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

showDeleted query optional boolean

include deleted items

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllTaskTags query optional boolean

match all task tags

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

isReportDownload query optional boolean

generate a report document

includeTotals query optional boolean

include totals

includePermissions query optional boolean

include permissions

includeDescendants query optional boolean

include descendants

includeArchivedProjects query optional boolean

include archived projects

taskTagIds query optional array

filter by task tag ids

taskIds query optional array

filter by task ids

tagIds query optional array

filter by tag ids

selectedColumns query optional array

customise the report by selecting columns

projectsFromCompanyId query optional array

filter by project company ids (deprecated, use projectCompanyIds)

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project statuses

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectCompanyIds query optional array

filter by project company ids

projectCategoryIds query optional array

filter by project category ids

include query optional array

include

ids query optional array

filter by ids

fields[users] query optional array
fields[timelogs] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[companies] query optional array
assignedToUserIds query optional array

filter by assigned user ids

assignedToTeamIds query optional array

filter by assigned team ids

assignedToCompanyIds query optional array

filter by assigned company ids

assignedTeamIds query optional array

filter by assigned team ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/allocations/{allocationId}/time.json
GET /projects/api/v3/companies/time.json

Return all logged time entries for all projects grouped by company ID.
Only the time entries that the logged-in user can access will be returned.

operationId: TimeTracking_getAllEntriesGroupedByCompany

Parameters

Name In Required Type Description
updatedAfter query optional string

filter by updated after date

startDate query optional string

filter by a starting date

reportFormat query optional string

define the format of the report

projectStatus query optional string

filter by project status

orderMode query optional string

order mode

orderBy query optional string

sort order

invoicedType query optional string

filter by invoiced type

endDate query optional string

filter by an ending date

billableType query optional string

filter by billable type

updatedBy query optional integer

filter by the user who updated the timelog

ticketId query optional integer

filter by ticket id

tasklistId query optional integer

filter by tasklist id

taskId query optional integer

filter by task id (deprecated, use taskIds)

projectId query optional integer

filter by project id (deprecated, use projectIds)

pageSize query optional integer

number of items in a page

page query optional integer

page number

budgetId query optional integer

filter by budget id

allocationId query optional integer

filter by allocation id

unattachedTimelogs query optional boolean

filter by timelogs that are directly logged against projects and not its child tasks

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

showDeleted query optional boolean

include deleted items

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllTaskTags query optional boolean

match all task tags

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

isReportDownload query optional boolean

generate a report document

includeTotals query optional boolean

include totals

includePermissions query optional boolean

include permissions

includeDescendants query optional boolean

include descendants

includeArchivedProjects query optional boolean

include archived projects

taskTagIds query optional array

filter by task tag ids

taskIds query optional array

filter by task ids

tagIds query optional array

filter by tag ids

selectedColumns query optional array

customise the report by selecting columns

projectsFromCompanyId query optional array

filter by project company ids (deprecated, use projectCompanyIds)

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project statuses

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectCompanyIds query optional array

filter by project company ids

projectCategoryIds query optional array

filter by project category ids

include query optional array

include

ids query optional array

filter by ids

fields[users] query optional array
fields[timelogs] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[companies] query optional array
assignedToUserIds query optional array

filter by assigned user ids

assignedToTeamIds query optional array

filter by assigned team ids

assignedToCompanyIds query optional array

filter by assigned company ids

assignedTeamIds query optional array

filter by assigned team ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/companies/time.json
GET /projects/api/v3/me/timers.json

Will get all your running timers or the person you are logged in as.

operationId: TimeTracking_getAllRunningTimers

Parameters

Name In Required Type Description
updatedAfterDate query optional string

filter by updated after date (deprecated, use updatedAfter)

updatedAfter query optional string

filter by updated after date

userId query optional integer

filter by user id

taskId query optional integer

filter by task id

projectId query optional integer

filter by project id

pageSize query optional integer

number of items in a page

page query optional integer

page number

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

showDeleted query optional boolean

include deleted items

runningTimersOnly query optional boolean

enforce running timers only

include query optional array

include

fields[users] query optional array
fields[timers] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[projects] query optional array

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/me/timers.json
POST /projects/api/v3/me/timers.json

Creates a new timer. If there’s already a timer running, it will stop this timer
at default.

operationId: TimeTracking_createNewTimer

Request Body

application/json
schema timer.Request
Property Type Required
timer object optional
taskId integer optional
seconds integer optional
isRunning boolean optional
projectId integer optional
isBillable boolean optional
description string optional
stopRunningTimers boolean optional

Responses

200

200 OK

201

201 Created

400

400 Bad Request

403

403 Forbidden

POST /projects/api/v3/me/timers.json
DELETE /projects/api/v3/me/timers/{timerId}.json

Delete an existing timer.

operationId: TimeTracking_deleteTimerById

Parameters

Name In Required Type Description
timerId path required integer

Request Body

required
application/json
schema timer.DeleteRequest
Property Type Required
hardDelete boolean optional

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/me/timers/{timerId}.json
PUT /projects/api/v3/me/timers/{timerId}.json

Edits the fields of a timer.

operationId: TimeTracking_editTimerFields

Parameters

Name In Required Type Description
timerId path required integer

Request Body

application/json
schema timer.Request
Property Type Required
timer object optional
taskId integer optional
seconds integer optional
isRunning boolean optional
projectId integer optional
isBillable boolean optional
description string optional
stopRunningTimers boolean optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

PUT /projects/api/v3/me/timers/{timerId}.json
PUT /projects/api/v3/me/timers/{timerId}/complete.json

Complete an existing timer. If the timer is currently running, it is paused to create
the timelog entry. When the timelog is created, the timer is deleted.

operationId: TimeTracking_completeTimerById

Parameters

Name In Required Type Description
timerId path required integer

Responses

200

200 OK

201

201 Created

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

PUT /projects/api/v3/me/timers/{timerId}/complete.json
PUT /projects/api/v3/me/timers/{timerId}/pause.json

Pause an existing timer.

operationId: TimeTracking_pauseTimerById

Parameters

Name In Required Type Description
timerId path required integer

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

PUT /projects/api/v3/me/timers/{timerId}/pause.json
PUT /projects/api/v3/me/timers/{timerId}/resume.json

Resume an existing timer. If other timers are currently running, those timers are paused before resuming.

operationId: TimeTracking_resumeTimerById

Parameters

Name In Required Type Description
timerId path required integer

Responses

200

200 OK

201

201 Created

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

PUT /projects/api/v3/me/timers/{timerId}/resume.json
PUT /projects/api/v3/me/timers/{timerId}/undelete.json

Restore an deleted timer.

operationId: TimeTracking_restoreTimerItem

Parameters

Name In Required Type Description
timerId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

PUT /projects/api/v3/me/timers/{timerId}/undelete.json
GET /projects/api/v3/projects/{projectId}/time.json

Return logged time entries for a specific project. Only the time entries that
the logged-in user can access will be returned.

operationId: TimeTracking_getProjectTimeEntries

Parameters

Name In Required Type Description
updatedAfter query optional string

filter by updated after date

startDate query optional string

filter by a starting date

reportFormat query optional string

define the format of the report

projectStatus query optional string

filter by project status

orderMode query optional string

order mode

orderBy query optional string

sort order

invoicedType query optional string

filter by invoiced type

endDate query optional string

filter by an ending date

billableType query optional string

filter by billable type

updatedBy query optional integer

filter by the user who updated the timelog

ticketId query optional integer

filter by ticket id

tasklistId query optional integer

filter by tasklist id

taskId query optional integer

filter by task id (deprecated, use taskIds)

projectId path required integer
projectId query optional integer

filter by project id (deprecated, use projectIds)

pageSize query optional integer

number of items in a page

page query optional integer

page number

budgetId query optional integer

filter by budget id

allocationId query optional integer

filter by allocation id

unattachedTimelogs query optional boolean

filter by timelogs that are directly logged against projects and not its child tasks

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

showDeleted query optional boolean

include deleted items

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllTaskTags query optional boolean

match all task tags

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

isReportDownload query optional boolean

generate a report document

includeTotals query optional boolean

include totals

includePermissions query optional boolean

include permissions

includeDescendants query optional boolean

include descendants

includeArchivedProjects query optional boolean

include archived projects

taskTagIds query optional array

filter by task tag ids

taskIds query optional array

filter by task ids

tagIds query optional array

filter by tag ids

selectedColumns query optional array

customise the report by selecting columns

projectsFromCompanyId query optional array

filter by project company ids (deprecated, use projectCompanyIds)

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project statuses

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectCompanyIds query optional array

filter by project company ids

projectCategoryIds query optional array

filter by project category ids

include query optional array

include

ids query optional array

filter by ids

fields[users] query optional array
fields[timelogs] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[companies] query optional array
assignedToUserIds query optional array

filter by assigned user ids

assignedToTeamIds query optional array

filter by assigned team ids

assignedToCompanyIds query optional array

filter by assigned company ids

assignedTeamIds query optional array

filter by assigned team ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/projects/{projectId}/time.json
POST /projects/api/v3/projects/{projectId}/time.json

Create a time entry in the desired project.

operationId: TimeTracking_createEntry

Parameters

Name In Required Type Description
projectId path required integer

Request Body

application/json
schema timelog.Request
Property Type Required
tags array optional
name string optional
color string optional
projectId integer optional
timelog object optional
date object optional
time object optional
hours integer optional
isUtc boolean optional
tagIds array optional
taskId integer optional
userId integer optional
minutes integer optional
ticketId integer optional
invoiceId integer optional
projectId integer optional
isBillable boolean optional
description string optional
hasStartTime boolean optional
timelogOptions object optional
fireWebhook boolean optional
logActivity boolean optional
parseInlineTags boolean optional
markTaskComplete boolean optional
useNotifyViaTWIM boolean optional

Responses

201

201 Created

400

400 Bad Request

403

403 Forbidden

POST /projects/api/v3/projects/{projectId}/time.json
GET /projects/api/v3/projects/{projectId}/time/total.json
operationId: TimeTracking_getTimelogTotals

Parameters

Name In Required Type Description
updatedAfter query optional string

filter by updated after

startDate query optional string

filter by a starting date

projectStatus query optional string

filter by project status

endDate query optional string

filter by an ending date

userId query optional integer

filter by user id (deprecated, use assignedToUserIds)

tasklistId query optional integer

filter by tasklist id

taskId query optional integer

filter by task id (deprecated, use taskIds)

projectId path required integer
projectId query optional integer

filter by project id

deskTicketId query optional integer

filter by desk ticket id

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllProjectTags query optional boolean

match all project tags

includeDescendants query optional boolean

get subtask totals

includeArchivedProjects query optional boolean

include archived projects

userIds query optional array

filter by user ids (deprecated, use assignedToUserIds)

taskIds query optional array

filter by task ids

subTaskStatuses query optional array

filter by sub-task status, includeDescendants must be set to true
for this to have any effect

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project statuses

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectCompanyIds query optional array

filter by project company ids

projectCategoryIds query optional array

filter by project category ids

companyIds query optional array

filter by company ids

assignedToUserIds query optional array

filter by assigned user ids

assignedToTeamIds query optional array

filter by assigned team ids

assignedToCompanyIds query optional array

filter by assigned company ids

assignedTeamIds query optional array

filter by assigned team ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/projects/{projectId}/time/total.json
GET /projects/api/v3/reporting/precanned/companytime.json

Return all logged time entries for all projects grouped by company ID.
Only the time entries that the logged-in user can access will be returned.

operationId: TimeTracking_getAllEntriesGroupedByCompany

Parameters

Name In Required Type Description
updatedAfter query optional string

filter by updated after date

startDate query optional string

filter by a starting date

reportFormat query optional string

define the format of the report

projectStatus query optional string

filter by project status

orderMode query optional string

order mode

orderBy query optional string

sort order

invoicedType query optional string

filter by invoiced type

endDate query optional string

filter by an ending date

billableType query optional string

filter by billable type

updatedBy query optional integer

filter by the user who updated the timelog

ticketId query optional integer

filter by ticket id

tasklistId query optional integer

filter by tasklist id

taskId query optional integer

filter by task id (deprecated, use taskIds)

projectId query optional integer

filter by project id (deprecated, use projectIds)

pageSize query optional integer

number of items in a page

page query optional integer

page number

budgetId query optional integer

filter by budget id

allocationId query optional integer

filter by allocation id

unattachedTimelogs query optional boolean

filter by timelogs that are directly logged against projects and not its child tasks

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

showDeleted query optional boolean

include deleted items

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllTaskTags query optional boolean

match all task tags

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

isReportDownload query optional boolean

generate a report document

includeTotals query optional boolean

include totals

includePermissions query optional boolean

include permissions

includeDescendants query optional boolean

include descendants

includeArchivedProjects query optional boolean

include archived projects

taskTagIds query optional array

filter by task tag ids

taskIds query optional array

filter by task ids

tagIds query optional array

filter by tag ids

selectedColumns query optional array

customise the report by selecting columns

projectsFromCompanyId query optional array

filter by project company ids (deprecated, use projectCompanyIds)

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project statuses

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectCompanyIds query optional array

filter by project company ids

projectCategoryIds query optional array

filter by project category ids

include query optional array

include

ids query optional array

filter by ids

fields[users] query optional array
fields[timelogs] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[companies] query optional array
assignedToUserIds query optional array

filter by assigned user ids

assignedToTeamIds query optional array

filter by assigned team ids

assignedToCompanyIds query optional array

filter by assigned company ids

assignedTeamIds query optional array

filter by assigned team ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/reporting/precanned/companytime.json
GET /projects/api/v3/tasklists/{tasklistId}/time/total.json
operationId: TimeTracking_getTimelogTotalsForTask

Parameters

Name In Required Type Description
tasklistId path required integer

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/tasklists/{tasklistId}/time/total.json
GET /projects/api/v3/tasks/{taskId}/time.json

Return logged time entries for a specific task. Only the time entries that
the logged-in user can access will be returned.

operationId: TimeTracking_getTaskTimeEntries

Parameters

Name In Required Type Description
updatedAfter query optional string

filter by updated after date

startDate query optional string

filter by a starting date

reportFormat query optional string

define the format of the report

projectStatus query optional string

filter by project status

orderMode query optional string

order mode

orderBy query optional string

sort order

invoicedType query optional string

filter by invoiced type

endDate query optional string

filter by an ending date

billableType query optional string

filter by billable type

updatedBy query optional integer

filter by the user who updated the timelog

ticketId query optional integer

filter by ticket id

tasklistId query optional integer

filter by tasklist id

taskId path required integer
taskId query optional integer

filter by task id (deprecated, use taskIds)

projectId query optional integer

filter by project id (deprecated, use projectIds)

pageSize query optional integer

number of items in a page

page query optional integer

page number

budgetId query optional integer

filter by budget id

allocationId query optional integer

filter by allocation id

unattachedTimelogs query optional boolean

filter by timelogs that are directly logged against projects and not its child tasks

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

showDeleted query optional boolean

include deleted items

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllTaskTags query optional boolean

match all task tags

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

isReportDownload query optional boolean

generate a report document

includeTotals query optional boolean

include totals

includePermissions query optional boolean

include permissions

includeDescendants query optional boolean

include descendants

includeArchivedProjects query optional boolean

include archived projects

taskTagIds query optional array

filter by task tag ids

taskIds query optional array

filter by task ids

tagIds query optional array

filter by tag ids

selectedColumns query optional array

customise the report by selecting columns

projectsFromCompanyId query optional array

filter by project company ids (deprecated, use projectCompanyIds)

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project statuses

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectCompanyIds query optional array

filter by project company ids

projectCategoryIds query optional array

filter by project category ids

include query optional array

include

ids query optional array

filter by ids

fields[users] query optional array
fields[timelogs] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[companies] query optional array
assignedToUserIds query optional array

filter by assigned user ids

assignedToTeamIds query optional array

filter by assigned team ids

assignedToCompanyIds query optional array

filter by assigned company ids

assignedTeamIds query optional array

filter by assigned team ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/tasks/{taskId}/time.json
POST /projects/api/v3/tasks/{taskId}/time.json

Create a time entry linked to the desired task.

operationId: TimeTracking_createLinkedEntry

Parameters

Name In Required Type Description
taskId path required integer

Request Body

application/json
schema timelog.Request
Property Type Required
tags array optional
name string optional
color string optional
projectId integer optional
timelog object optional
date object optional
time object optional
hours integer optional
isUtc boolean optional
tagIds array optional
taskId integer optional
userId integer optional
minutes integer optional
ticketId integer optional
invoiceId integer optional
projectId integer optional
isBillable boolean optional
description string optional
hasStartTime boolean optional
timelogOptions object optional
fireWebhook boolean optional
logActivity boolean optional
parseInlineTags boolean optional
markTaskComplete boolean optional
useNotifyViaTWIM boolean optional

Responses

201

201 Created

400

400 Bad Request

403

403 Forbidden

POST /projects/api/v3/tasks/{taskId}/time.json
GET /projects/api/v3/tasks/{taskId}/time/total.json
operationId: TimeTracking_getTimelogTotals

Parameters

Name In Required Type Description
taskId path required integer

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/tasks/{taskId}/time/total.json
GET /projects/api/v3/time.json

Return all logged time entries for all projects. Only the time entries that
the logged-in user can access will be returned.

operationId: TimeTracking_getAllEntries

Parameters

Name In Required Type Description
updatedAfter query optional string

filter by updated after date

startDate query optional string

filter by a starting date

reportFormat query optional string

define the format of the report

projectStatus query optional string

filter by project status

orderMode query optional string

order mode

orderBy query optional string

sort order

invoicedType query optional string

filter by invoiced type

endDate query optional string

filter by an ending date

billableType query optional string

filter by billable type

updatedBy query optional integer

filter by the user who updated the timelog

ticketId query optional integer

filter by ticket id

tasklistId query optional integer

filter by tasklist id

taskId query optional integer

filter by task id (deprecated, use taskIds)

projectId query optional integer

filter by project id (deprecated, use projectIds)

pageSize query optional integer

number of items in a page

page query optional integer

page number

budgetId query optional integer

filter by budget id

allocationId query optional integer

filter by allocation id

unattachedTimelogs query optional boolean

filter by timelogs that are directly logged against projects and not its child tasks

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

showDeleted query optional boolean

include deleted items

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllTaskTags query optional boolean

match all task tags

matchAllTags query optional boolean

match all tags

matchAllProjectTags query optional boolean

match all project tags

isReportDownload query optional boolean

generate a report document

includeTotals query optional boolean

include totals

includePermissions query optional boolean

include permissions

includeDescendants query optional boolean

include descendants

includeArchivedProjects query optional boolean

include archived projects

taskTagIds query optional array

filter by task tag ids

taskIds query optional array

filter by task ids

tagIds query optional array

filter by tag ids

selectedColumns query optional array

customise the report by selecting columns

projectsFromCompanyId query optional array

filter by project company ids (deprecated, use projectCompanyIds)

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project statuses

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectCompanyIds query optional array

filter by project company ids

projectCategoryIds query optional array

filter by project category ids

include query optional array

include

ids query optional array

filter by ids

fields[users] query optional array
fields[timelogs] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[companies] query optional array
assignedToUserIds query optional array

filter by assigned user ids

assignedToTeamIds query optional array

filter by assigned team ids

assignedToCompanyIds query optional array

filter by assigned company ids

assignedTeamIds query optional array

filter by assigned team ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/time.json
GET /projects/api/v3/time/total.json
operationId: TimeTracking_getTimelogTotals

Parameters

Name In Required Type Description
updatedAfter query optional string

filter by updated after

startDate query optional string

filter by a starting date

projectStatus query optional string

filter by project status

endDate query optional string

filter by an ending date

userId query optional integer

filter by user id (deprecated, use assignedToUserIds)

tasklistId query optional integer

filter by tasklist id

taskId query optional integer

filter by task id (deprecated, use taskIds)

projectId query optional integer

filter by project id

deskTicketId query optional integer

filter by desk ticket id

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllProjectTags query optional boolean

match all project tags

includeDescendants query optional boolean

get subtask totals

includeArchivedProjects query optional boolean

include archived projects

userIds query optional array

filter by user ids (deprecated, use assignedToUserIds)

taskIds query optional array

filter by task ids

subTaskStatuses query optional array

filter by sub-task status, includeDescendants must be set to true
for this to have any effect

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

filter by project statuses

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

filter by project healths

0: not set
1: bad
2: ok
3: good

projectCompanyIds query optional array

filter by project company ids

projectCategoryIds query optional array

filter by project category ids

companyIds query optional array

filter by company ids

assignedToUserIds query optional array

filter by assigned user ids

assignedToTeamIds query optional array

filter by assigned team ids

assignedToCompanyIds query optional array

filter by assigned company ids

assignedTeamIds query optional array

filter by assigned team ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/time/total.json
DELETE /projects/api/v3/time/{timelogId}.json

Delete a timelog.

operationId: TimeTracking_deleteTimelog

Parameters

Name In Required Type Description
timelogId path required integer

Responses

204

204 No Content (no data)

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

DELETE /projects/api/v3/time/{timelogId}.json
GET /projects/api/v3/time/{timelogId}.json
operationId: TimeTracking_getSpecificTimeEntry

Parameters

Name In Required Type Description
timelogId path required integer

Responses

200

200 OK

400

400 Bad Request

404

404 Not Found (no data)

GET /projects/api/v3/time/{timelogId}.json
PATCH /projects/api/v3/time/{timelogId}.json

Modify the properties of an existing time entry.

operationId: TimeTracking_updateExistingTimeEntry

Parameters

Name In Required Type Description
timelogId path required integer

Request Body

application/json
schema timelog.Request
Property Type Required
tags array optional
name string optional
color string optional
projectId integer optional
timelog object optional
date object optional
time object optional
hours integer optional
isUtc boolean optional
tagIds array optional
taskId integer optional
userId integer optional
minutes integer optional
ticketId integer optional
invoiceId integer optional
projectId integer optional
isBillable boolean optional
description string optional
hasStartTime boolean optional
timelogOptions object optional
fireWebhook boolean optional
logActivity boolean optional
parseInlineTags boolean optional
markTaskComplete boolean optional
useNotifyViaTWIM boolean optional

Responses

200

200 OK

400

400 Bad Request

403

403 Forbidden

404

404 Not Found (no data)

409

409 Conflict

PATCH /projects/api/v3/time/{timelogId}.json
GET /projects/api/v3/timers.json

Brings back all current running timers. Will return a set of existing intervals for each timer.
If the timer has never been stopped then this interval will only have a from property set and
the you will need to calculate the current duration of the timer.

operationId: TimeTracking_getAllRunningTimers

Parameters

Name In Required Type Description
updatedAfterDate query optional string

filter by updated after date (deprecated, use updatedAfter)

updatedAfter query optional string

filter by updated after date

userId query optional integer

filter by user id

taskId query optional integer

filter by task id

projectId query optional integer

filter by project id

pageSize query optional integer

number of items in a page

page query optional integer

page number

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

showDeleted query optional boolean

include deleted items

runningTimersOnly query optional boolean

enforce running timers only

include query optional array

include

fields[users] query optional array
fields[timers] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[projects] query optional array

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/timers.json
GET /projects/api/v3/timers/{timerId}.json

Will get a timer with with a specific ID.

operationId: TimeTracking_getSpecificTimer

Parameters

Name In Required Type Description
userId query optional integer

filter by user id

timerId path required integer
showDeleted query optional boolean

filter by task id

include query optional array

include

fields[users] query optional array
fields[timers] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[projects] query optional array

Responses

200

200 OK

400

400 Bad Request

404

404 Not Found (no data)

GET /projects/api/v3/timers/{timerId}.json

Timesheets 2 endpoints

GET /projects/api/v3/timesheets.json

Return a list of timesheet rows for the given user depending on param options.

operationId: Timesheets_getList

Parameters

Name In Required Type Description
weekDate query optional string
taskStatus query optional string

filter by task status

startDate query optional string

filter by a starting date, will default to the start of users work week.

searchTerm query optional string

filter by tasks/projects/company names

reportFormat query optional string

define the format of the report

orderMode query optional string

order mode

orderBy query optional string

order by

invoicedType query optional string

filter by invoiced type

endDate query optional string

filter by an ending date, will default to the end of users work week.

billableType query optional string

filter by billable type

userId query optional integer

filter by user id, will default to session user

pageSize query optional integer

number of items in a page

page query optional integer

page number

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

onlyStarredProjects query optional boolean

filter by starred projects

isReportDownload query optional boolean

generate a report export.

includeUnavailableTimes query optional boolean

include users unavailable times field.

hasTimeLogged query optional boolean

filter by tasks and projects that have time logged

assignedToTeams query optional boolean

also include tasks that are assigned to teams

taskIds query optional array

filter by task ids

tagIds query optional array

filter by tag ids

projectStatuses query optional array

filter by project statuses

projectIds query optional array

filter by project ids

projectCategoryIds query optional array

filter by project category ids

include query optional array

include

excludeTimeframes query optional array

exclude by time frames

companyIds query optional array

filter by company ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/timesheets.json
GET /projects/api/v3/timesheets/totals.json

Get the daily totals counts for all the user’s timesheets.

operationId: Timesheets_getTotals

Parameters

Name In Required Type Description
weekDate query optional string
taskStatus query optional string

filter by task status

startDate query optional string

filter by a starting date, will default to the start of users work week.

searchTerm query optional string

filter by tasks/projects/company names

reportFormat query optional string

define the format of the report

orderMode query optional string

order mode

orderBy query optional string

order by

invoicedType query optional string

filter by invoiced type

endDate query optional string

filter by an ending date, will default to the end of users work week.

billableType query optional string

filter by billable type

userId query optional integer

filter by user id, will default to session user

pageSize query optional integer

number of items in a page

page query optional integer

page number

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

onlyStarredProjects query optional boolean

filter by starred projects

isReportDownload query optional boolean

generate a report export.

includeUnavailableTimes query optional boolean

include users unavailable times field.

hasTimeLogged query optional boolean

filter by tasks and projects that have time logged

assignedToTeams query optional boolean

also include tasks that are assigned to teams

taskIds query optional array

filter by task ids

tagIds query optional array

filter by tag ids

projectStatuses query optional array

filter by project statuses

projectIds query optional array

filter by project ids

projectCategoryIds query optional array

filter by project category ids

include query optional array

include

excludeTimeframes query optional array

exclude by time frames

companyIds query optional array

filter by company ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/timesheets/totals.json

Workload 1 endpoints

GET /projects/api/v3/workload/planners.json

Return the workload planner for each users of the installation.

operationId: Workload_getPlanner

Parameters

Name In Required Type Description
startDate query optional string

define the start date of the planner

searchUserName query optional string

filter by user name

searchTaskName query optional string

filter by task name

projectStatus query optional string

filter by project status

orderMode query optional string

order mode

orderBy query optional string

order by

endDate query optional string

define the end date of the planner

pageSize query optional integer

number of items in a page

page query optional integer

page number

subtractLoggedTimeFromEstimates query optional boolean

subtract logged time from task estimated time

skipCounts query optional boolean

SkipCounts allows you to skip doing counts on a list API endpoint for
performance reasons.

prorating query optional boolean

include tasks that have the start and due dates outside the window range

onlyUntaggedTasks query optional boolean

filter ony untagged tasks

onlyStarredProjects query optional boolean

filter by starred projects only

matchAllProjectTags query optional boolean

enforce all tag ids must be matched

includeTeamUserIds query optional boolean

include team users to the responsible party ids

includeTasksWithoutDates query optional boolean

include tasks without start or due date

includeCompletedTasks query optional boolean

include completed tasks

includeCompanyUserIds query optional boolean

include company users to the responsible party ids

includeCalendarEvents query optional boolean

include calendar events on capacity calculation

includeAssigneeTeams query optional boolean

include teams related to the responsible party ids

includeAssigneeCompanies query optional boolean

include companies related to the responsible party ids

includeArchivedProjects query optional boolean

include archived projects

distribute query optional boolean

distribute the estimated time for a task between all the assignees

teamIds query optional array

filter by member of team ids

tagIds query optional array

filter by task tag ids

responsiblePartyIds query optional array

filter by responsible party ids

projectTagIds query optional array

filter by project tag ids

projectStatuses query optional array

list of project status

projectOwnerIds query optional array

filter by project owner ids

projectIds query optional array

filter by project ids

projectHealths query optional array

list of project health

projectCompanyIds query optional array

filter by company ids

projectCategoryIds query optional array

filter by project category ids

memberOfProjectIds query optional array

filter by member of project ids

include query optional array

include

fields[workingHours] query optional array
fields[workingHourEntries] query optional array
fields[users] query optional array
fields[timelogs] query optional array
fields[tasks] query optional array
fields[tasklists] query optional array
fields[milestones] query optional array
fields[companies] query optional array
fields[calendarEvents] query optional array
excludeTagIds query optional array

filter by removing task tag ids

companyIds query optional array

filter by user company id

assigneeTeamIds query optional array

filter by assignee team ids

assigneeCompanyIds query optional array

filter by assignee company ids

Responses

200

200 OK

400

400 Bad Request

GET /projects/api/v3/workload/planners.json