Teamwork

Project management and collaboration platform

developer.teamwork.com ↗
Version
3.0
OpenAPI
3.0.0
Endpoints
188
Schemas
296
Updated
3 days ago
Project management project-management collaboration
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://{site_name}.teamwork.com

Endpoints

Clear filters

Activity 2 endpoints

GET /projects/api/v3/latestactivity.json

Lists the latest activity across all projects ordered chronologically. When you log into Teamwork you will see all the recent activity. This corresponds to that view in Teamwork. There are parameters you can send in to filter your results.

operationId: Activity_listAllProjectsActivity

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after date
startDate query optional string filter by start datetime
sort query optional string sort by (deprecated, use orderBy)
projectStatus query optional string filter by project status
orderMode query optional string order mode
orderBy query optional string sort by
endDate query optional string filter by end datetime
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
maxId query optional integer activity id offset
catchupFromId query optional integer limit results from previous id
showDeleted query optional boolean include deleted items
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only projects with explicit membership
matchAllProjectTags query optional boolean enforce all tag ids must be matched
includeArchivedProjects query optional boolean include archived projects
groupCommentActivityType query optional boolean group all activities on comments
userIds query optional array filter by user 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
include query optional array include
fields[users] query optional array
fields[projects] query optional array
fields[companies] query optional array
fields[activities] query optional array
activityTypes query optional array filter by activity types

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/latestactivity.json
GET /projects/api/v3/projects/{projectId}/latestactivity

Lists the latest activity for a specific project. When you access a project you will see all the recent activity. This corresponds to that view in Teamwork. There is some parameters you can send in to filter your results.

operationId: Activity_listProjectLatestActivity

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after date
startDate query optional string filter by start datetime
sort query optional string sort by (deprecated, use orderBy)
projectStatus query optional string filter by project status
orderMode query optional string order mode
orderBy query optional string sort by
endDate query optional string filter by end datetime
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
maxId query optional integer activity id offset
catchupFromId query optional integer limit results from previous id
showDeleted query optional boolean include deleted items
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only projects with explicit membership
matchAllProjectTags query optional boolean enforce all tag ids must be matched
includeArchivedProjects query optional boolean include archived projects
groupCommentActivityType query optional boolean group all activities on comments
userIds query optional array filter by user 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
include query optional array include
fields[users] query optional array
fields[projects] query optional array
fields[companies] query optional array
fields[activities] query optional array
activityTypes query optional array filter by activity types

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/{projectId}/latestactivity

Budgets 1 endpoints

GET /projects/api/v3/projects/budgets/:id/tasklists/budgets.json

Get a list of tasklist budgets information.

operationId: Budgets_getAllTasklistBudgets

Parameters

Name In Required Type Description
orderMode query optional string order mode
orderBy query optional string order by
projectBudgetId query optional integer parent project budget id
pageSize query optional integer number of items in a page
page query optional integer page number
include query optional array include
fields[tasklists] query optional array
fields[tasklistBudgetNotifications] query optional array
fields[projectBudgets] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/budgets/:id/tasklists/budgets.json

Calendarevents 4 endpoints

GET /projects/api/v3/calendar/events.csv

Generates an agenda report in CSV format containing all the events for the provided filters.

operationId: CalendarEvents_generateAgendaReportCsv

Parameters

Name In Required Type Description
startDate query optional string events that happen after this date
reportFormat query optional string define the format of the report
endDate query optional string events that happen before this date
withTasks query optional boolean include tasks
withMilestones query optional boolean include milestones
withEvents query optional boolean include events
isReportDownload query optional boolean generate a report document
includeTags query optional boolean should include tags
attendingOnly query optional boolean when filtering events with targetUserIDs, display only when attending the event
typeIDs query optional array filter calendar events to show only the ones in typeIDs
targetUserIDs query optional array filter to show only events for the provided user
targetProjectIDs query optional array filter to show only events for the provided projects

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/calendar/events.csv
GET /projects/api/v3/calendar/events.html

Generates an agenda report in HTML format containing all the events for the provided filters.

operationId: CalendarEvents_generateAgendaReportHtml

Parameters

Name In Required Type Description
startDate query optional string events that happen after this date
reportFormat query optional string define the format of the report
endDate query optional string events that happen before this date
withTasks query optional boolean include tasks
withMilestones query optional boolean include milestones
withEvents query optional boolean include events
isReportDownload query optional boolean generate a report document
includeTags query optional boolean should include tags
attendingOnly query optional boolean when filtering events with targetUserIDs, display only when attending the event
typeIDs query optional array filter calendar events to show only the ones in typeIDs
targetUserIDs query optional array filter to show only events for the provided user
targetProjectIDs query optional array filter to show only events for the provided projects

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/calendar/events.html
GET /projects/api/v3/calendar/events.pdf

Generates an agenda report in PDF format containing all the events for the provided filters.

operationId: CalendarEvents_generateAgendaReportPdf

Parameters

Name In Required Type Description
startDate query optional string events that happen after this date
reportFormat query optional string define the format of the report
endDate query optional string events that happen before this date
withTasks query optional boolean include tasks
withMilestones query optional boolean include milestones
withEvents query optional boolean include events
isReportDownload query optional boolean generate a report document
includeTags query optional boolean should include tags
attendingOnly query optional boolean when filtering events with targetUserIDs, display only when attending the event
typeIDs query optional array filter calendar events to show only the ones in typeIDs
targetUserIDs query optional array filter to show only events for the provided user
targetProjectIDs query optional array filter to show only events for the provided projects

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/calendar/events.pdf
GET /projects/api/v3/calendar/events.xlsx

Generates an agenda report in XLSX format containing all the events for the provided filters.

operationId: CalendarEvents_generateAgendaReportXlsx

Parameters

Name In Required Type Description
startDate query optional string events that happen after this date
reportFormat query optional string define the format of the report
endDate query optional string events that happen before this date
withTasks query optional boolean include tasks
withMilestones query optional boolean include milestones
withEvents query optional boolean include events
isReportDownload query optional boolean generate a report document
includeTags query optional boolean should include tags
attendingOnly query optional boolean when filtering events with targetUserIDs, display only when attending the event
typeIDs query optional array filter calendar events to show only the ones in typeIDs
targetUserIDs query optional array filter to show only events for the provided user
targetProjectIDs query optional array filter to show only events for the provided projects

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/calendar/events.xlsx

Categories 3 endpoints

GET /projects/api/v3/projectcategories.json
operationId: Categories_list

Parameters

Name In Required Type Description
searchTerm query optional string filter by name
onlyStarredProjects query optional boolean filter by starred projects only. note: if an owner company admin, counts will honour this filter, but all categories will be returned regardless.
projectStatuses query optional array filter by project statuses. note: if an owner company admin, counts will honour this filter, but all categories will be returned regardless.
ids query optional array filter by specific ids
fields[projectcategories] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projectcategories.json
GET /projects/api/v3/projectcategories/{categoryId}.json
operationId: Categories_getSpecificCategory

Parameters

Name In Required Type Description
searchTerm query optional string filter by name
categoryId path required integer
onlyStarredProjects query optional boolean filter by starred projects only. note: if an owner company admin, counts will honour this filter, but all categories will be returned regardless.
projectStatuses query optional array filter by project statuses. note: if an owner company admin, counts will honour this filter, but all categories will be returned regardless.
ids query optional array filter by specific ids
fields[projectcategories] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projectcategories/{categoryId}.json
GET /projects/api/v3/projects/teamwork/categories.json
operationId: Categories_list

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/teamwork/categories.json

Companies 2 endpoints

GET /projects/api/v3/companies.json

Retrieve all companies for the provided filters. 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: Companies_getAll

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
searchTerm query optional string filter by company name and description
reportType query optional string define the type of the report
reportFormat query optional string define the format of the report
orderMode query optional string order mode
orderBy query optional string order by
firstLetter query optional string filter by first letter of company name
createdAfterDate query optional string filter by created after date (deprecated, use createdAfter)
createdAfter query optional string filter by created after date
budgetRanges query optional string budget distribution ranges
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
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchClientManagers query optional boolean include client managers in the search
returnLetters query optional boolean return unfiltered company initial letter counts
onlyUntaggedCompanies query optional boolean only untagged companies
matchAllTags query optional boolean match all tags
matchAllExcludedTags query optional boolean match all exclude tags
isReportDownload query optional boolean generate a report document
includeUntaggedCompanies query optional boolean include untagged companies
includeProfitability query optional boolean include profitability data for each client
includeCustomFields query optional boolean include custom fields
includeBudgetDistribution query optional boolean include budget distribution data
getStats query optional boolean include stats of company tasks and projects
getEmoji query optional boolean parse emojis to unicode
fullProfile query optional boolean include full profile
excludeOwnerCompany query optional boolean exclude the owner company
tagIds query optional array filter by tag ids
selectedColumns query optional array customise the report by selecting columns
projectStatuses query optional array filter by project statuses
include query optional array include
ids query optional array filter by ids
fields[users] query optional array
fields[tags] query optional array
fields[industries] query optional array
fields[countries] query optional array
fields[companies] query optional array
excludeTagIds query optional array filter by excluded tag ids
excludeIds query optional array exclude by company ids
clientManagedByUserIds query optional array filter by client manager user ids
CustomFields query optional array filter by custom fields

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/companies.json
GET /projects/api/v3/companies/{companyId}.json

Retrieves a company by id.

operationId: Companies_getSpecificCompany

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
searchTerm query optional string filter by company name and description
reportType query optional string define the type of the report
reportFormat query optional string define the format of the report
orderMode query optional string order mode
orderBy query optional string order by
firstLetter query optional string filter by first letter of company name
createdAfterDate query optional string filter by created after date (deprecated, use createdAfter)
createdAfter query optional string filter by created after date
budgetRanges query optional string budget distribution ranges
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
companyId path required integer
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchClientManagers query optional boolean include client managers in the search
returnLetters query optional boolean return unfiltered company initial letter counts
onlyUntaggedCompanies query optional boolean only untagged companies
matchAllTags query optional boolean match all tags
matchAllExcludedTags query optional boolean match all exclude tags
isReportDownload query optional boolean generate a report document
includeUntaggedCompanies query optional boolean include untagged companies
includeProfitability query optional boolean include profitability data for each client
includeCustomFields query optional boolean include custom fields
includeBudgetDistribution query optional boolean include budget distribution data
getStats query optional boolean include stats of company tasks and projects
getEmoji query optional boolean parse emojis to unicode
fullProfile query optional boolean include full profile
excludeOwnerCompany query optional boolean exclude the owner company
tagIds query optional array filter by tag ids
selectedColumns query optional array customise the report by selecting columns
projectStatuses query optional array filter by project statuses
include query optional array include
ids query optional array filter by ids
fields[users] query optional array
fields[tags] query optional array
fields[industries] query optional array
fields[countries] query optional array
fields[companies] query optional array
excludeTagIds query optional array filter by excluded tag ids
excludeIds query optional array exclude by company ids
clientManagedByUserIds query optional array filter by client manager user ids
CustomFields query optional array filter by custom fields

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found
GET /projects/api/v3/companies/{companyId}.json

Customfields 8 endpoints

GET /projects/api/v3/companies/{companyId}/customfields.json

Return all custom field values from a specific company.

operationId: CustomFields_getValues

Parameters

Name In Required Type Description
searchTerm query optional string filter by custom field value
pageSize query optional integer number of items in a page
page query optional integer page number
companyId path required integer
companyId query optional integer filter by company id
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
include query optional array include
fields[projects] query optional array
fields[customfields] query optional array
customFieldIds query optional array filter by custom field ids

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/companies/{companyId}/customfields.json
GET /projects/api/v3/companies/{companyId}/customfields/{customFieldId}.json

Return a specific custom field value from a company.

operationId: CustomFields_getCompanyCustomFieldValue

Parameters

Name In Required Type Description
customFieldId path required integer
companyId path required integer

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/companies/{companyId}/customfields/{customFieldId}.json
GET /projects/api/v3/customfields.json

Return all custom fields for the provided filters.

operationId: CustomFields_listAll

Parameters

Name In Required Type Description
searchTerm query optional string filter by custom field name
projectStatuses query optional string filter by project statuses
orderMode query optional string order mode
orderBy query optional string order by
name query optional string filter by name
projectId query optional integer filter by project id
pageSize query optional integer number of items in a page
page query optional integer page number
useFormulaFields query optional boolean use formula fields
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
onlySiteLevel query optional boolean only return site-level custom fields
onlyProjectLevel query optional boolean only return custom fields for project-level in the response
matchAllProjectTags query optional boolean match all project tags
includeSiteLevel query optional boolean include custom fields for site-level in the response
projectTagIds query optional array filter by project tag ids
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 company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by custom field ids
fields[users] query optional array
fields[projects] query optional array
entities query optional array filter by entities

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/customfields.json
GET /projects/api/v3/customfields/{customFieldId}.json

This returns all details about an individual custom field.

operationId: CustomFields_getById

Parameters

Name In Required Type Description
searchTerm query optional string filter by custom field name
projectStatuses query optional string filter by project statuses
orderMode query optional string order mode
orderBy query optional string order by
name query optional string filter by name
projectId query optional integer filter by project id
pageSize query optional integer number of items in a page
page query optional integer page number
customFieldId path required integer
useFormulaFields query optional boolean use formula fields
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
onlySiteLevel query optional boolean only return site-level custom fields
onlyProjectLevel query optional boolean only return custom fields for project-level in the response
matchAllProjectTags query optional boolean match all project tags
includeSiteLevel query optional boolean include custom fields for site-level in the response
projectTagIds query optional array filter by project tag ids
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 company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by custom field ids
fields[users] query optional array
fields[projects] query optional array
entities query optional array filter by entities

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/customfields/{customFieldId}.json
GET /projects/api/v3/projects/{projectId}/customfields.json

Return all custom field values from a specific project.

operationId: CustomFields_getProjectCustomFieldValues

Parameters

Name In Required Type Description
searchTerm query optional string filter by custom field value
projectId path required integer
projectId query optional integer filter by project id
pageSize query optional integer number of items in a page
page query optional integer page number
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
include query optional array include
fields[projects] query optional array
fields[customfields] query optional array
customFieldIds query optional array filter by custom field ids

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/{projectId}/customfields.json
GET /projects/api/v3/projects/{projectId}/customfields/{customFieldId}.json

Return a specific custom field value from a project.

operationId: CustomFields_getProjectCustomFieldValue

Parameters

Name In Required Type Description
projectId path required integer
customFieldId path required integer

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/projects/{projectId}/customfields/{customFieldId}.json
GET /projects/api/v3/tasks/{taskId}/customfields.json

Return all custom field values from a specific task.

operationId: CustomFields_getValuesFromTask

Parameters

Name In Required Type Description
searchTerm query optional string filter by custom field value
taskId path required integer
taskId query optional integer filter by task id
pageSize query optional integer number of items in a page
page query optional integer page number
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
include query optional array include
fields[projects] query optional array
fields[customfields] query optional array
customFieldIds query optional array filter by custom field ids

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/tasks/{taskId}/customfields.json
GET /projects/api/v3/tasks/{taskId}/customfields/{customFieldId}.json

Return a specific custom field value from a task.

operationId: CustomFields_getTaskCustomFieldValue

Parameters

Name In Required Type Description
taskId path required integer
customFieldId path required integer

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/tasks/{taskId}/customfields/{customFieldId}.json

Dashboards 1 endpoints

GET /projects/api/v3/dashboards.json

Return all dashboards that the logged-in user can access. Dashboards contains panels that are used to summarize many activities from the installation.

operationId: Dashboards_getAll

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after date
orderMode query optional string order mode
orderBy query optional string order by
userId query optional integer filter by user 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
showDeleted query optional boolean include deleted items
emoji query optional boolean parse emoji alias to unicode
include query optional array include
fields[users] query optional array
fields[projects] query optional array
fields[dashboards] query optional array
fields[dashboardSettings] query optional array
fields[dashboardPanels] query optional array
fields[dashboardPanelSettings] query optional array
dashboardIds query optional array filter by user dashboard ids

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/dashboards.json

Features 1 endpoints

GET /projects/api/v3/features.json

Return all features accessible to the current installation.

operationId: Features_listAccessible

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/features.json

Filecomments 1 endpoints

GET /projects/api/v3/files/{fileId}/comments.json
operationId: FileComments_getList

Parameters

Name In Required Type Description
fileId path required integer

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/files/{fileId}/comments.json

Fileversioncomments 1 endpoints

GET /projects/api/v3/fileversions/{id}/comments.json
operationId: FileVersionComments_getList

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
searchTerm query optional string filter by comment content (like v1 filterText param)
publishedStartDate query optional string filter by published after date
publishedEndDate query optional string filter by published before date
orderMode query optional string order mode
orderBy query optional string order by
commentStatus query optional string filter by commment status
pageSize query optional integer number of items in a page
page query optional integer page number
id path required integer
strictHTML query optional boolean use strict html filtering fto content
getReactionsCount query optional boolean get reactions count
userIds query optional array filter by user ids
notifiedUserIds query optional array filter by users who got notified for the comments
include query optional array include
fields[users] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/fileversions/{id}/comments.json

Forms 3 endpoints

GET /projects/api/v3/forms.json

Return a list of all forms.

operationId: Forms_getAll

Parameters

Name In Required Type Description
token.state query optional string query by token state
searchTerm query optional string filter by form name
orderMode query optional string order mode
orderBy query optional string order by
hostObject.type query optional string query by hostObject type
content.state query optional string query by form state
userId query optional integer filter by user id
pageSize query optional integer number of items in a page
page query optional integer page number
hostObject.id query optional integer filter by host id
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
onlyProjectsWithExplicitMembership query optional boolean filter only by project with direct membership
includeArchivedProjects query optional boolean include archived projects
projectIds query optional array filter by project ids
include query optional array include
fields[users] query optional array
fields[tasklists] query optional array
fields[projects] query optional array
fields[forms] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/forms.json
GET /projects/api/v3/forms/{formId}.json
operationId: Forms_getSpecificForm

Parameters

Name In Required Type Description
formId path required integer

Responses

200 200 OK
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/forms/{formId}.json
GET /projects/api/v3/forms/{formId}/draft.json
operationId: Forms_getDraftForm

Parameters

Name In Required Type Description
formId path required integer

Responses

200 200 OK
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/forms/{formId}/draft.json

Formspublic 1 endpoints

GET /projects/api/v3/forms/public/{token}.json

This endpoint does not require authentication.

operationId: FormsPublic_getByToken

Parameters

Name In Required Type Description
token.state query optional string query by token state
searchTerm query optional string filter by form name
orderMode query optional string order mode
orderBy query optional string order by
hostObject.type query optional string query by hostObject type
content.state query optional string query by form state
userId query optional integer filter by user id
token path required integer
pageSize query optional integer number of items in a page
page query optional integer page number
hostObject.id query optional integer filter by host id
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
onlyProjectsWithExplicitMembership query optional boolean filter only by project with direct membership
includeArchivedProjects query optional boolean include archived projects
projectIds query optional array filter by project ids
include query optional array include
fields[users] query optional array
fields[tasklists] query optional array
fields[projects] query optional array
fields[forms] query optional array
fields[companies] query optional array

Responses

200 200 OK
404 404 Not Found (no data)
GET /projects/api/v3/forms/public/{token}.json

Importers 1 endpoints

GET /projects/api/v3/importer/stats.json

This endpoint returns info about a set of importers. This includes whether they are individually running or not, what's their status and a flag to represent if any importer is running. The endpoint looks up redis for this information. Using the parameter resetImporters this information can be deleted in redis to reset it.

operationId: Importers_getStats

Parameters

Name In Required Type Description
resetImporters query optional boolean reset importers

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/importer/stats.json

Messages 2 endpoints

GET /projects/api/v3/messages.json

Retrieve all messages for the provided filters.

operationId: Messages_getAll

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after date
searchTerm query optional string filter by message name and body
projectType query optional string filter by project type
projectStatuses query optional string filter by project statuses
orderMode query optional string order mode
orderBy query optional string order by
createdBefore query optional string filter by created before date
createdAfter query optional string filter by created after date
pageSize query optional integer number of items in a page
page query optional integer page number
updatedAfterIncludesReplies query optional boolean consider reply dates when using updatedAfter
unreadOnly query optional boolean show unread messages only
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 only
matchAllTags query optional boolean match all tags
matchAllProjectTags query optional boolean match all project tags
includeDeleted query optional boolean include deleted messages
includeArchivedProjects query optional boolean include archived projects
getEmoji query optional boolean parse emojis to unicode
formatMarkdown query optional boolean
archivedOnly query optional boolean show archived messages only
userIds query optional array filter by user ids
tagIds query optional array filter by tag ids
projectTagIds query optional array filter by project tag ids
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 company ids
projectCategoryIds query optional array filter by project category ids
notifiedUserIds query optional array filter by users who got notified for the messages
include query optional array include
ids query optional array filter by ids
fields[projects] query optional array
fields[messageReplies] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/messages.json
GET /projects/api/v3/messages/{messageId}.json

Retrieves a message by id.

operationId: Messages_getSpecificMessage

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after date
searchTerm query optional string filter by message name and body
projectType query optional string filter by project type
projectStatuses query optional string filter by project statuses
orderMode query optional string order mode
orderBy query optional string order by
createdBefore query optional string filter by created before date
createdAfter query optional string filter by created after date
pageSize query optional integer number of items in a page
page query optional integer page number
messageId path required integer
updatedAfterIncludesReplies query optional boolean consider reply dates when using updatedAfter
unreadOnly query optional boolean show unread messages only
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 only
matchAllTags query optional boolean match all tags
matchAllProjectTags query optional boolean match all project tags
includeDeleted query optional boolean include deleted messages
includeArchivedProjects query optional boolean include archived projects
getEmoji query optional boolean parse emojis to unicode
formatMarkdown query optional boolean
archivedOnly query optional boolean show archived messages only
userIds query optional array filter by user ids
tagIds query optional array filter by tag ids
projectTagIds query optional array filter by project tag ids
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 company ids
projectCategoryIds query optional array filter by project category ids
notifiedUserIds query optional array filter by users who got notified for the messages
include query optional array include
ids query optional array filter by ids
fields[projects] query optional array
fields[messageReplies] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found
GET /projects/api/v3/messages/{messageId}.json

Milestonecomments 1 endpoints

GET /projects/api/v3/milestones/{milestoneId}/comments.json
operationId: MilestoneComments_getList

Parameters

Name In Required Type Description
milestoneId path required integer

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/milestones/{milestoneId}/comments.json

Milestones 8 endpoints

GET /projects/api/v3/milestones.json

All milestones are returned on projects that the authenticated user is associated with. You can use the provided filters to return only those milestones that are incomplete, completed, upcoming or late. All milestones are returning in this call. This call uses pagination, returning 100 milestones per page by default.

operationId: Milestones_getAll

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
searchTerm query optional string filter by milestone name and description
reportType query optional string define the type of the report
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 order by
dueBeforeDate query optional string filter by due before date (deprecated, use dueBefore)
dueBefore query optional string filter by due before date
dueAfterDate query optional string filter by due after date (deprecated, use dueAfter)
dueAfter query optional string filter by due after date
pageSize query optional integer number of items in a page
page query optional integer page number
showPrivate query optional boolean show private milestones
showDeleted query optional boolean include deleted items
showAttachedTasklists query optional boolean show attached tasklists
searchCompaniesTeams query optional boolean include companies and teams in the search term
searchAssignees query optional boolean include assignees in the search
progress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
onlyStarredProjects query optional boolean filter by starred projects only
onlyMyProjects query optional boolean filter by projects that the logged-in user is related
onlyAdminProjects query optional boolean only include milestones from projects where the user is strictly a project admin. site admins have visibility to all projects.
matchAllTags query optional boolean match all milestone tags
matchAllProjectTags query optional boolean match all project tags
isReportDownload query optional boolean generate a report document
includeUpdate query optional boolean include milestones latest update action
includeToday query optional boolean include today when milestone status is upcoming
includeTeamUserIds query optional boolean include team users to the responsible party ids
includeTags query optional boolean include tags in the reports
includeProgress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
includePercentageComplete query optional boolean include percentage of tasks completed for all linked tasklists
includeCompleted query optional boolean optional to include completed milestones
includeCompanyUserIds query optional boolean include company users to the responsible party ids
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
emoji query optional boolean convert emoji alias to unicode
countUnreadComments query optional boolean count unread comments
calendar query optional boolean enables the calendar style layout
tagIds query optional array filter by milestone tag ids
status query optional array filter by list of milestone status
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array filter by 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 filter by list of project health
projectHealth query optional array filter by list of project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by ids
followerIds query optional array filter by followers' ids
fields[users] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[companies] query optional array
creatorIds query optional array filter by creators' 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

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/milestones.json
GET /projects/api/v3/milestones/metrics/deadlines.json

Count the number of milestones on each deadline date. Only the milestones that the logged-in user can access will be included in the counting.

operationId: Milestones_getMilestonesByDueDate

Parameters

Name In Required Type Description
startDate query optional string
endDate query optional string

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/milestones/metrics/deadlines.json
GET /projects/api/v3/milestones/{milestonId}.json

This returns all details about an individual milestone.

operationId: Milestones_getById

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
searchTerm query optional string filter by milestone name and description
reportType query optional string define the type of the report
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 order by
dueBeforeDate query optional string filter by due before date (deprecated, use dueBefore)
dueBefore query optional string filter by due before date
dueAfterDate query optional string filter by due after date (deprecated, use dueAfter)
dueAfter query optional string filter by due after date
pageSize query optional integer number of items in a page
page query optional integer page number
milestonId path required integer
showPrivate query optional boolean show private milestones
showDeleted query optional boolean include deleted items
showAttachedTasklists query optional boolean show attached tasklists
searchCompaniesTeams query optional boolean include companies and teams in the search term
searchAssignees query optional boolean include assignees in the search
progress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
onlyStarredProjects query optional boolean filter by starred projects only
onlyMyProjects query optional boolean filter by projects that the logged-in user is related
onlyAdminProjects query optional boolean only include milestones from projects where the user is strictly a project admin. site admins have visibility to all projects.
matchAllTags query optional boolean match all milestone tags
matchAllProjectTags query optional boolean match all project tags
isReportDownload query optional boolean generate a report document
includeUpdate query optional boolean include milestones latest update action
includeToday query optional boolean include today when milestone status is upcoming
includeTeamUserIds query optional boolean include team users to the responsible party ids
includeTags query optional boolean include tags in the reports
includeProgress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
includePercentageComplete query optional boolean include percentage of tasks completed for all linked tasklists
includeCompleted query optional boolean optional to include completed milestones
includeCompanyUserIds query optional boolean include company users to the responsible party ids
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
emoji query optional boolean convert emoji alias to unicode
countUnreadComments query optional boolean count unread comments
calendar query optional boolean enables the calendar style layout
tagIds query optional array filter by milestone tag ids
status query optional array filter by list of milestone status
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array filter by 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 filter by list of project health
projectHealth query optional array filter by list of project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by ids
followerIds query optional array filter by followers' ids
fields[users] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[companies] query optional array
creatorIds query optional array filter by creators' 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

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/milestones/{milestonId}.json
GET /projects/api/v3/projects/{projectId}/milestones.json

This lets you query the list of milestones for a project. You can use the provided filters to return only those milestones that are incomplete, completed, upcoming or late. This call uses pagination, returning 100 milestones per page by default.

operationId: Milestones_list

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
searchTerm query optional string filter by milestone name and description
reportType query optional string define the type of the report
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 order by
dueBeforeDate query optional string filter by due before date (deprecated, use dueBefore)
dueBefore query optional string filter by due before date
dueAfterDate query optional string filter by due after date (deprecated, use dueAfter)
dueAfter query optional string filter by due after date
projectId path required integer
pageSize query optional integer number of items in a page
page query optional integer page number
showPrivate query optional boolean show private milestones
showDeleted query optional boolean include deleted items
showAttachedTasklists query optional boolean show attached tasklists
searchCompaniesTeams query optional boolean include companies and teams in the search term
searchAssignees query optional boolean include assignees in the search
progress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
onlyStarredProjects query optional boolean filter by starred projects only
onlyMyProjects query optional boolean filter by projects that the logged-in user is related
onlyAdminProjects query optional boolean only include milestones from projects where the user is strictly a project admin. site admins have visibility to all projects.
matchAllTags query optional boolean match all milestone tags
matchAllProjectTags query optional boolean match all project tags
isReportDownload query optional boolean generate a report document
includeUpdate query optional boolean include milestones latest update action
includeToday query optional boolean include today when milestone status is upcoming
includeTeamUserIds query optional boolean include team users to the responsible party ids
includeTags query optional boolean include tags in the reports
includeProgress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
includePercentageComplete query optional boolean include percentage of tasks completed for all linked tasklists
includeCompleted query optional boolean optional to include completed milestones
includeCompanyUserIds query optional boolean include company users to the responsible party ids
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
emoji query optional boolean convert emoji alias to unicode
countUnreadComments query optional boolean count unread comments
calendar query optional boolean enables the calendar style layout
tagIds query optional array filter by milestone tag ids
status query optional array filter by list of milestone status
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array filter by 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 filter by list of project health
projectHealth query optional array filter by list of project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by ids
followerIds query optional array filter by followers' ids
fields[users] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[companies] query optional array
creatorIds query optional array filter by creators' 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

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/milestones.json
GET /projects/api/v3/reporting/precanned/plannedvsactual/milestones.csv

Generates a milestone report in CSV format containing all milestones for the provided filters. Only the milestones that the logged-in user can access will be returned.

operationId: Milestones_generateCsvReport

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
searchTerm query optional string filter by milestone name and description
reportType query optional string define the type of the report
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 order by
dueBeforeDate query optional string filter by due before date (deprecated, use dueBefore)
dueBefore query optional string filter by due before date
dueAfterDate query optional string filter by due after date (deprecated, use dueAfter)
dueAfter query optional string filter by due after date
pageSize query optional integer number of items in a page
page query optional integer page number
showPrivate query optional boolean show private milestones
showDeleted query optional boolean include deleted items
showAttachedTasklists query optional boolean show attached tasklists
searchCompaniesTeams query optional boolean include companies and teams in the search term
searchAssignees query optional boolean include assignees in the search
progress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
onlyStarredProjects query optional boolean filter by starred projects only
onlyMyProjects query optional boolean filter by projects that the logged-in user is related
onlyAdminProjects query optional boolean only include milestones from projects where the user is strictly a project admin. site admins have visibility to all projects.
matchAllTags query optional boolean match all milestone tags
matchAllProjectTags query optional boolean match all project tags
isReportDownload query optional boolean generate a report document
includeUpdate query optional boolean include milestones latest update action
includeToday query optional boolean include today when milestone status is upcoming
includeTeamUserIds query optional boolean include team users to the responsible party ids
includeTags query optional boolean include tags in the reports
includeProgress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
includePercentageComplete query optional boolean include percentage of tasks completed for all linked tasklists
includeCompleted query optional boolean optional to include completed milestones
includeCompanyUserIds query optional boolean include company users to the responsible party ids
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
emoji query optional boolean convert emoji alias to unicode
countUnreadComments query optional boolean count unread comments
calendar query optional boolean enables the calendar style layout
tagIds query optional array filter by milestone tag ids
status query optional array filter by list of milestone status
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array filter by 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 filter by list of project health
projectHealth query optional array filter by list of project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by ids
followerIds query optional array filter by followers' ids
fields[users] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[companies] query optional array
creatorIds query optional array filter by creators' 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

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/plannedvsactual/milestones.csv
GET /projects/api/v3/reporting/precanned/plannedvsactual/milestones.html

Generates a milestone report in HTML format containing all milestones for the provided filters. Only the milestones that the logged-in user can access will be returned.

operationId: Milestones_generateHtmlReport

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
searchTerm query optional string filter by milestone name and description
reportType query optional string define the type of the report
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 order by
dueBeforeDate query optional string filter by due before date (deprecated, use dueBefore)
dueBefore query optional string filter by due before date
dueAfterDate query optional string filter by due after date (deprecated, use dueAfter)
dueAfter query optional string filter by due after date
pageSize query optional integer number of items in a page
page query optional integer page number
showPrivate query optional boolean show private milestones
showDeleted query optional boolean include deleted items
showAttachedTasklists query optional boolean show attached tasklists
searchCompaniesTeams query optional boolean include companies and teams in the search term
searchAssignees query optional boolean include assignees in the search
progress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
onlyStarredProjects query optional boolean filter by starred projects only
onlyMyProjects query optional boolean filter by projects that the logged-in user is related
onlyAdminProjects query optional boolean only include milestones from projects where the user is strictly a project admin. site admins have visibility to all projects.
matchAllTags query optional boolean match all milestone tags
matchAllProjectTags query optional boolean match all project tags
isReportDownload query optional boolean generate a report document
includeUpdate query optional boolean include milestones latest update action
includeToday query optional boolean include today when milestone status is upcoming
includeTeamUserIds query optional boolean include team users to the responsible party ids
includeTags query optional boolean include tags in the reports
includeProgress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
includePercentageComplete query optional boolean include percentage of tasks completed for all linked tasklists
includeCompleted query optional boolean optional to include completed milestones
includeCompanyUserIds query optional boolean include company users to the responsible party ids
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
emoji query optional boolean convert emoji alias to unicode
countUnreadComments query optional boolean count unread comments
calendar query optional boolean enables the calendar style layout
tagIds query optional array filter by milestone tag ids
status query optional array filter by list of milestone status
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array filter by 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 filter by list of project health
projectHealth query optional array filter by list of project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by ids
followerIds query optional array filter by followers' ids
fields[users] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[companies] query optional array
creatorIds query optional array filter by creators' 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

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/plannedvsactual/milestones.html
GET /projects/api/v3/reporting/precanned/plannedvsactual/milestones.pdf

Generates a milestone report in PDF format containing all milestones for the provided filters. Only the milestones that the logged-in user can access will be returned.

operationId: Milestones_generateMilestoneReportPdf

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
searchTerm query optional string filter by milestone name and description
reportType query optional string define the type of the report
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 order by
dueBeforeDate query optional string filter by due before date (deprecated, use dueBefore)
dueBefore query optional string filter by due before date
dueAfterDate query optional string filter by due after date (deprecated, use dueAfter)
dueAfter query optional string filter by due after date
pageSize query optional integer number of items in a page
page query optional integer page number
showPrivate query optional boolean show private milestones
showDeleted query optional boolean include deleted items
showAttachedTasklists query optional boolean show attached tasklists
searchCompaniesTeams query optional boolean include companies and teams in the search term
searchAssignees query optional boolean include assignees in the search
progress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
onlyStarredProjects query optional boolean filter by starred projects only
onlyMyProjects query optional boolean filter by projects that the logged-in user is related
onlyAdminProjects query optional boolean only include milestones from projects where the user is strictly a project admin. site admins have visibility to all projects.
matchAllTags query optional boolean match all milestone tags
matchAllProjectTags query optional boolean match all project tags
isReportDownload query optional boolean generate a report document
includeUpdate query optional boolean include milestones latest update action
includeToday query optional boolean include today when milestone status is upcoming
includeTeamUserIds query optional boolean include team users to the responsible party ids
includeTags query optional boolean include tags in the reports
includeProgress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
includePercentageComplete query optional boolean include percentage of tasks completed for all linked tasklists
includeCompleted query optional boolean optional to include completed milestones
includeCompanyUserIds query optional boolean include company users to the responsible party ids
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
emoji query optional boolean convert emoji alias to unicode
countUnreadComments query optional boolean count unread comments
calendar query optional boolean enables the calendar style layout
tagIds query optional array filter by milestone tag ids
status query optional array filter by list of milestone status
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array filter by 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 filter by list of project health
projectHealth query optional array filter by list of project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by ids
followerIds query optional array filter by followers' ids
fields[users] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[companies] query optional array
creatorIds query optional array filter by creators' 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

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/plannedvsactual/milestones.pdf
GET /projects/api/v3/reporting/precanned/plannedvsactual/milestones.xlsx

Generates a milestone report in XLSX format containing all milestones for the provided filters. Only the milestones that the logged-in user can access will be returned.

operationId: Milestones_generateXlsxReport

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
searchTerm query optional string filter by milestone name and description
reportType query optional string define the type of the report
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 order by
dueBeforeDate query optional string filter by due before date (deprecated, use dueBefore)
dueBefore query optional string filter by due before date
dueAfterDate query optional string filter by due after date (deprecated, use dueAfter)
dueAfter query optional string filter by due after date
pageSize query optional integer number of items in a page
page query optional integer page number
showPrivate query optional boolean show private milestones
showDeleted query optional boolean include deleted items
showAttachedTasklists query optional boolean show attached tasklists
searchCompaniesTeams query optional boolean include companies and teams in the search term
searchAssignees query optional boolean include assignees in the search
progress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
onlyStarredProjects query optional boolean filter by starred projects only
onlyMyProjects query optional boolean filter by projects that the logged-in user is related
onlyAdminProjects query optional boolean only include milestones from projects where the user is strictly a project admin. site admins have visibility to all projects.
matchAllTags query optional boolean match all milestone tags
matchAllProjectTags query optional boolean match all project tags
isReportDownload query optional boolean generate a report document
includeUpdate query optional boolean include milestones latest update action
includeToday query optional boolean include today when milestone status is upcoming
includeTeamUserIds query optional boolean include team users to the responsible party ids
includeTags query optional boolean include tags in the reports
includeProgress query optional boolean include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)
includePercentageComplete query optional boolean include percentage of tasks completed for all linked tasklists
includeCompleted query optional boolean optional to include completed milestones
includeCompanyUserIds query optional boolean include company users to the responsible party ids
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
emoji query optional boolean convert emoji alias to unicode
countUnreadComments query optional boolean count unread comments
calendar query optional boolean enables the calendar style layout
tagIds query optional array filter by milestone tag ids
status query optional array filter by list of milestone status
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array filter by 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 filter by list of project health
projectHealth query optional array filter by list of project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
ids query optional array filter by ids
followerIds query optional array filter by followers' ids
fields[users] query optional array
fields[tasklists] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[companies] query optional array
creatorIds query optional array filter by creators' 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

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/plannedvsactual/milestones.xlsx

Notebookcomments 1 endpoints

GET /projects/api/v3/notebooks/{notebookId}/comments.json
operationId: NotebookComments_getList

Parameters

Name In Required Type Description
notebookId path required integer

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/notebooks/{notebookId}/comments.json

Notebooks 5 endpoints

GET /projects/api/v3/notebooks.json
operationId: Notebooks_listNotebooks

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
searchTerm query optional string filter by notebook name and description
projectType query optional string filter by project type
projectStatuses query optional string filter by project statuses
orderMode query optional string order mode
orderBy query optional string order by
createdAfterDate query optional string filter by created after date (deprecated, use createdAfter)
createdAfter query optional string filter by created after date
pageSize query optional integer number of items in a page
page query optional integer page number
showDeleted query optional boolean include deleted items
secureOnly query optional boolean filter by showing only secure notebooks
matchAllTags query optional boolean match all notebook tags
matchAllProjectTags query optional boolean match all project tags
lockedOnly query optional boolean filter by showing only locked notebooks
includeContents query optional boolean include contents.
includeArchivedProjects query optional boolean include archived projects
getEmoji query optional boolean parse emojis to unicode
tagIds query optional array filter by notebook tag ids
projectTagIds query optional array filter by project tag ids
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 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[teams] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[notebooks] query optional array
fields[notebookCategories] query optional array
fields[companies] query optional array
creatorIds query optional array filter by creators' ids
categoryIds query optional array filter by notebook category ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/notebooks.json
GET /projects/api/v3/notebooks/{notebookId}.json
operationId: Notebooks_getSpecificNotebook

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
projectType query optional string filter by project type
notebookId path required integer
showDeleted query optional boolean show deleted notebooks
getEmoji query optional boolean parse emojis to unicode
include query optional array include
fields[users] query optional array
fields[teams] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[notebooks] query optional array
fields[notebookCategories] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/notebooks/{notebookId}.json
GET /projects/api/v3/notebooks/{notebookId}/compare.json

Gets the contents diff between the contents of 2 notebook versions

operationId: Notebooks_compareVersionsContentDiff

Parameters

Name In Required Type Description
notebookId path required integer
include query optional array include
fields[users] query optional array

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/notebooks/{notebookId}/compare.json
GET /projects/api/v3/notebooks/{notebookId}/versions.json

Get a list of a notebooks versions.

operationId: Notebooks_getVersionsList

Parameters

Name In Required Type Description
notebookId path required integer
include query optional array include
fields[users] query optional array

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/notebooks/{notebookId}/versions.json
GET /projects/api/v3/notebooks/{notebookId}/versions/{versionId}.json

Get a specific notebook version.

operationId: Notebooks_getVersion

Parameters

Name In Required Type Description
versionId path required integer
notebookId path required integer
include query optional array include
fields[users] query optional array

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/notebooks/{notebookId}/versions/{versionId}.json

People 9 endpoints

GET /projects/api/v3/people.json

Retrieve all people for the provided filters.

operationId: People_getAll

Parameters

Name In Required Type Description
userType query optional string user type
updatedAfter query optional string date time
searchTerm query optional string filter by comment content
orderMode query optional string order mode
orderBy query optional string order by
lastLoginAfter query optional string
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
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
orderPrioritiseCurrentUser query optional boolean Force to have the current/session user in the response
onlySiteOwner query optional boolean
onlyOwnerCompany query optional boolean return people only from the owner company. This will replace any provided company ID.
includeServiceAccounts query optional boolean include service accounts
includeCollaborators query optional boolean exclude collaborators types, returning only account and contact.
includeClients query optional boolean include clients
filterByNoCostRate query optional boolean Returns users who are missing cost rates(OCA only)
excludeContacts query optional boolean exclude contact types, returning only account and collaborator.
teamIds query optional array team ids
projectIds query optional array filter by project ids
include query optional array include (not used when generating reports)
ids query optional array filter by user ids
fields[teams] query optional array
fields[person] query optional array
fields[people] query optional array
fields[companies] query optional array
fields[ProjectPermissions] query optional array
excludeProjectIds query optional array exclude people assigned to certain project id
companyIds query optional array company ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/people.json
GET /projects/api/v3/people/metrics/performance.json

Count the number of completed tasks by user for the provided period. By default the user with the most completed tasks is shown first.

operationId: People_listCompletedUserTasks

Parameters

Name In Required Type Description
startDate query optional string
orderMode query optional string order mode
endDate query optional string

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/people/metrics/performance.json
GET /projects/api/v3/people/utilization.json

Verify the user utilization.

operationId: People_getUserUtilization

Parameters

Name In Required Type Description
zoom query optional string determine the type of zoom filter used to display on the report
startDate query optional string filter by start date
sortOrder query optional string order mode
sort query optional string sort by (deprecated, use orderBy)
searchTerm query optional string filter by user first or last name
reportFormat query optional string define the format of the report
orderMode query optional string group by
orderBy query optional string sort by
groupBy query optional string group by
endDate query optional string filter by end date
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.
isReportDownload query optional boolean generate a report document
isCustomDateRange query optional boolean determine if the query is for a custom date range
includeCollaborators query optional boolean include collaborators
includeClients query optional boolean include client users
userIds query optional array filter by userIds
teamIds query optional array filter by team ids
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectIds query optional array filter by project ids
include query optional array include
fields[utilizations] query optional array
fields[users] query optional array
companyIds query optional array filter by company ids

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/people/utilization.json
GET /projects/api/v3/projects/{projectId}/people.json

Retrieve all people on the project.

operationId: People_getAllOnProject

Parameters

Name In Required Type Description
userType query optional string user type
updatedAfter query optional string date time
searchTerm query optional string filter by comment content
orderMode query optional string order mode
orderBy query optional string order by
lastLoginAfter query optional string
projectId path required integer
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
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
orderPrioritiseCurrentUser query optional boolean Force to have the current/session user in the response
onlySiteOwner query optional boolean
onlyOwnerCompany query optional boolean return people only from the owner company. This will replace any provided company ID.
includeServiceAccounts query optional boolean include service accounts
includeObservers query optional boolean include project observers
includeCollaborators query optional boolean exclude collaborators types, returning only account and contact.
includeClients query optional boolean include clients
filterByNoCostRate query optional boolean Returns users who are missing cost rates(OCA only)
excludeContacts query optional boolean exclude contact types, returning only account and collaborator.
teamIds query optional array team ids
projectIds query optional array filter by project ids
include query optional array include (not used when generating reports)
ids query optional array filter by user ids
fields[teams] query optional array
fields[person] query optional array
fields[people] query optional array
fields[companies] query optional array
fields[ProjectPermissions] query optional array
excludeProjectIds query optional array exclude people assigned to certain project id
companyIds query optional array company ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/people.json
GET /projects/api/v3/reporting/precanned/usertaskcompletion.json

Retrieve all people for the provided filters and their task completions.

operationId: People_getTaskCompletions

Parameters

Name In Required Type Description
userType query optional string user type
updatedAfter query optional string date time
startDate query optional string start date for task completion report
searchTerm query optional string filter by comment content
reportFormat query optional string define the format of the report
orderMode query optional string order mode
orderBy query optional string order by
lastLoginAfter query optional string
endDate query optional string end date for task completion report
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
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
orderPrioritiseCurrentUser query optional boolean Force to have the current/session user in the response
onlySiteOwner query optional boolean
onlyOwnerCompany query optional boolean return people only from the owner company. This will replace any provided company ID.
isReportDownload query optional boolean generate a report document
includeServiceAccounts query optional boolean include service accounts
includeCollaborators query optional boolean exclude collaborators types, returning only account and contact.
includeClients query optional boolean include clients
filterByNoCostRate query optional boolean Returns users who are missing cost rates(OCA only)
excludeContacts query optional boolean exclude contact types, returning only account and collaborator.
teamIds query optional array team ids
selectedColumns query optional array customise the report by selecting columns
projectIds query optional array filter by project ids
include query optional array include (not used when generating reports)
ids query optional array filter by user ids
fields[teams] query optional array
fields[person] query optional array
fields[people] query optional array
fields[companies] query optional array
fields[ProjectPermissions] query optional array
excludeProjectIds query optional array exclude people assigned to certain project id
companyIds query optional array company ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/reporting/precanned/usertaskcompletion.json
GET /projects/api/v3/reporting/precanned/utilization.csv

Generates a utilization report in CSV format containing all people for the provided filters. Only the people that the logged-in user can access will be returned.

operationId: People_getUtilizationReportCsv

Parameters

Name In Required Type Description
zoom query optional string determine the type of zoom filter used to display on the report
startDate query optional string filter by start date
sortOrder query optional string order mode
sort query optional string sort by (deprecated, use orderBy)
searchTerm query optional string filter by user first or last name
reportFormat query optional string define the format of the report
orderMode query optional string group by
orderBy query optional string sort by
groupBy query optional string group by
endDate query optional string filter by end date
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.
isReportDownload query optional boolean generate a report document
isCustomDateRange query optional boolean determine if the query is for a custom date range
includeCollaborators query optional boolean include collaborators
includeClients query optional boolean include client users
userIds query optional array filter by userIds
teamIds query optional array filter by team ids
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectIds query optional array filter by project ids
include query optional array include
fields[utilizations] query optional array
fields[users] query optional array
companyIds query optional array filter by company ids

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/utilization.csv
GET /projects/api/v3/reporting/precanned/utilization.html

Generates a utilization report in HTML format containing all people for the provided filters. Only the people that the logged-in user can access will be returned.

operationId: People_generateUtilizationReportHtml

Parameters

Name In Required Type Description
zoom query optional string determine the type of zoom filter used to display on the report
startDate query optional string filter by start date
sortOrder query optional string order mode
sort query optional string sort by (deprecated, use orderBy)
searchTerm query optional string filter by user first or last name
reportFormat query optional string define the format of the report
orderMode query optional string group by
orderBy query optional string sort by
groupBy query optional string group by
endDate query optional string filter by end date
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.
isReportDownload query optional boolean generate a report document
isCustomDateRange query optional boolean determine if the query is for a custom date range
includeCollaborators query optional boolean include collaborators
includeClients query optional boolean include client users
userIds query optional array filter by userIds
teamIds query optional array filter by team ids
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectIds query optional array filter by project ids
include query optional array include
fields[utilizations] query optional array
fields[users] query optional array
companyIds query optional array filter by company ids

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/utilization.html
GET /projects/api/v3/reporting/precanned/utilization.pdf

Generates a utilization report in PDF format containing all people for the provided filters. Only the people that the logged-in user can access will be returned.

operationId: People_generateUtilizationReportPdf

Parameters

Name In Required Type Description
zoom query optional string determine the type of zoom filter used to display on the report
startDate query optional string filter by start date
sortOrder query optional string order mode
sort query optional string sort by (deprecated, use orderBy)
searchTerm query optional string filter by user first or last name
reportFormat query optional string define the format of the report
orderMode query optional string group by
orderBy query optional string sort by
groupBy query optional string group by
endDate query optional string filter by end date
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.
isReportDownload query optional boolean generate a report document
isCustomDateRange query optional boolean determine if the query is for a custom date range
includeCollaborators query optional boolean include collaborators
includeClients query optional boolean include client users
userIds query optional array filter by userIds
teamIds query optional array filter by team ids
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectIds query optional array filter by project ids
include query optional array include
fields[utilizations] query optional array
fields[users] query optional array
companyIds query optional array filter by company ids

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/utilization.pdf
GET /projects/api/v3/reporting/precanned/utilization.xlsx

Generates a utilization report in XLSX format containing all people for the provided filters. Only the people that the logged-in user can access will be returned.

operationId: People_generateUtilizationXlsx

Parameters

Name In Required Type Description
zoom query optional string determine the type of zoom filter used to display on the report
startDate query optional string filter by start date
sortOrder query optional string order mode
sort query optional string sort by (deprecated, use orderBy)
searchTerm query optional string filter by user first or last name
reportFormat query optional string define the format of the report
orderMode query optional string group by
orderBy query optional string sort by
groupBy query optional string group by
endDate query optional string filter by end date
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.
isReportDownload query optional boolean generate a report document
isCustomDateRange query optional boolean determine if the query is for a custom date range
includeCollaborators query optional boolean include collaborators
includeClients query optional boolean include client users
userIds query optional array filter by userIds
teamIds query optional array filter by team ids
selectedColumns query optional array customise the report by selecting columns to be displayed.
projectIds query optional array filter by project ids
include query optional array include
fields[utilizations] query optional array
fields[users] query optional array
companyIds query optional array filter by company ids

Responses

200 200 OK (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/utilization.xlsx

Peoplestatus 3 endpoints

GET /projects/api/v3/statuses.json

All of the latest status posts are returned for all users in the parent company.

operationId: PeopleStatus_getAllStatuses

Parameters

Name In Required Type Description
updatedAfter query optional string return only statuses updated after a specific date
searchTerm query optional string filter by the user name or status message
teamId query optional integer filter by team
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.
showEveryone query optional boolean show also users without status
showDeleted query optional boolean showDeleted statuses
includeSubteams query optional boolean also include statuses from subteams
include query optional array include
fields[users] query optional array
fields[statuses] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/statuses.json
GET /projects/api/v3/statuses/timeline.json

Return a timeline list of people statuses that the logged-in user can access.

operationId: PeopleStatus_listTimeline

Parameters

Name In Required Type Description
searchTerm query optional string filter by the user name or status message
teamId query optional integer filter by team
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 showDeleted statuses
includeSubteams query optional boolean also include statuses from subteams
include query optional array include
fields[users] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/statuses/timeline.json
GET /projects/api/v3/teams/{teamId}/statuses/timeline.json

Return people statuses from a specific team that the logged-in user can access.

operationId: PeopleStatus_listTimeline

Parameters

Name In Required Type Description
searchTerm query optional string filter by the user name or status message
teamId path required integer
teamId query optional integer filter by team
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 showDeleted statuses
includeSubteams query optional boolean also include statuses from subteams
include query optional array include
fields[users] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/teams/{teamId}/statuses/timeline.json

Person 3 endpoints

GET /projects/api/v3/people/{personId}.json

Retrieve a person record.

operationId: Person_getRecord

Parameters

Name In Required Type Description
userType query optional string user type
updatedAfter query optional string date time
searchTerm query optional string filter by comment content
orderMode query optional string order mode
orderBy query optional string order by
lastLoginAfter query optional string
personId path required integer
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
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
orderPrioritiseCurrentUser query optional boolean Force to have the current/session user in the response
onlySiteOwner query optional boolean
onlyOwnerCompany query optional boolean return people only from the owner company. This will replace any provided company ID.
includeServiceAccounts query optional boolean include service accounts
includeCollaborators query optional boolean exclude collaborators types, returning only account and contact.
includeClients query optional boolean include clients
filterByNoCostRate query optional boolean Returns users who are missing cost rates(OCA only)
excludeContacts query optional boolean exclude contact types, returning only account and collaborator.
teamIds query optional array team ids
projectIds query optional array filter by project ids
include query optional array include (not used when generating reports)
ids query optional array filter by user ids
fields[teams] query optional array
fields[person] query optional array
fields[people] query optional array
fields[companies] query optional array
fields[ProjectPermissions] query optional array
excludeProjectIds query optional array exclude people assigned to certain project id
companyIds query optional array company ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/people/{personId}.json
GET /projects/api/v3/projects/{projectId}/people/{personId}.json

Retrieve a person record.

operationId: Person_getRecord

Parameters

Name In Required Type Description
userType query optional string user type
updatedAfter query optional string date time
searchTerm query optional string filter by comment content
orderMode query optional string order mode
orderBy query optional string order by
lastLoginAfter query optional string
projectId path required integer
personId path required integer
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
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
orderPrioritiseCurrentUser query optional boolean Force to have the current/session user in the response
onlySiteOwner query optional boolean
onlyOwnerCompany query optional boolean return people only from the owner company. This will replace any provided company ID.
includeServiceAccounts query optional boolean include service accounts
includeCollaborators query optional boolean exclude collaborators types, returning only account and contact.
includeClients query optional boolean include clients
filterByNoCostRate query optional boolean Returns users who are missing cost rates(OCA only)
excludeContacts query optional boolean exclude contact types, returning only account and collaborator.
teamIds query optional array team ids
projectIds query optional array filter by project ids
include query optional array include (not used when generating reports)
ids query optional array filter by user ids
fields[teams] query optional array
fields[person] query optional array
fields[people] query optional array
fields[companies] query optional array
fields[ProjectPermissions] query optional array
excludeProjectIds query optional array exclude people assigned to certain project id
companyIds query optional array company ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/people/{personId}.json
GET /projects/api/v3/reporting/precanned/usertaskcompletion/{userId}.json

Retrieve a person record and its task completion stats.

operationId: Person_getTaskCompletionsByUser

Parameters

Name In Required Type Description
userType query optional string user type
updatedAfter query optional string date time
startDate query optional string start date for task completion report
searchTerm query optional string filter by comment content
reportFormat query optional string define the format of the report
orderMode query optional string order mode
orderBy query optional string order by
lastLoginAfter query optional string
endDate query optional string end date for task completion report
userId path required integer
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
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
orderPrioritiseCurrentUser query optional boolean Force to have the current/session user in the response
onlySiteOwner query optional boolean
onlyOwnerCompany query optional boolean return people only from the owner company. This will replace any provided company ID.
isReportDownload query optional boolean generate a report document
includeServiceAccounts query optional boolean include service accounts
includeCollaborators query optional boolean exclude collaborators types, returning only account and contact.
includeClients query optional boolean include clients
filterByNoCostRate query optional boolean Returns users who are missing cost rates(OCA only)
excludeContacts query optional boolean exclude contact types, returning only account and collaborator.
teamIds query optional array team ids
selectedColumns query optional array customise the report by selecting columns
projectIds query optional array filter by project ids
include query optional array include (not used when generating reports)
ids query optional array filter by user ids
fields[teams] query optional array
fields[person] query optional array
fields[people] query optional array
fields[companies] query optional array
fields[ProjectPermissions] query optional array
excludeProjectIds query optional array exclude people assigned to certain project id
companyIds query optional array company ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/reporting/precanned/usertaskcompletion/{userId}.json

Projectupdates 2 endpoints

GET /projects/api/v3/projects/updates.json

Return the updates from all projects that the logged-in user can access.

operationId: ProjectUpdates_getAllUpdates

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after
projectStatus query optional string filter by project status
orderMode query optional string order mode
orderBy query optional string order by
createdAfter query optional string filter by creation date
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
reactions query optional boolean add reactions to the response
onlyStarredProjects query optional boolean filter by starred projects only
matchAllProjectTags query optional boolean match all project tags
includeArchivedProjects query optional boolean include archived projects
emoji query optional boolean parse emojis to unicode
activeOnly query optional boolean filter by active
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
projectHealths query optional array filter by project health
projectHealth query optional array filter by project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
fields[users] query optional array
fields[projects] query optional array
fields[projectUpdates] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/updates.json
GET /projects/api/v3/projects/{projectIds}/updates.json

Return the updates from a specific project.

operationId: ProjectUpdates_getAllUpdates

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after
projectStatus query optional string filter by project status
orderMode query optional string order mode
orderBy query optional string order by
createdAfter query optional string filter by creation date
projectIds path required integer
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
reactions query optional boolean add reactions to the response
onlyStarredProjects query optional boolean filter by starred projects only
matchAllProjectTags query optional boolean match all project tags
includeArchivedProjects query optional boolean include archived projects
emoji query optional boolean parse emojis to unicode
activeOnly query optional boolean filter by active
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
projectHealths query optional array filter by project health
projectHealth query optional array filter by project health (deprecated, use projectHealths)
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
include query optional array include
fields[users] query optional array
fields[projects] query optional array
fields[projectUpdates] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/{projectIds}/updates.json

Projects 16 endpoints

GET /projects/api/v3/projects.json

Retrieve all projects for the provided filters. Only the projects that the logged-in user can access will be returned. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Projects_listProjectsFilteredByCustomFields

Parameters

Name In Required Type Description
updatedAfter query optional string updated after
searchTerm query optional string filter by project name
reportType query optional string define the type of the report
reportTimezone query optional string Optional to configure the report dates displayed in a timezone
reportFormat query optional string define the format of the report
projectType query optional string filter by project type
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
minLastActivityDate query optional string filter by min last activity date
maxLastActivityDate query optional string filter by max last activity date
currencySymbol query optional string currency symbol for report export
userId query optional integer filter by user id
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
orderByCustomFieldId query optional integer order by custom field id when orderBy is equal to customfield
minBudgetCapacityUsedPercent query optional integer filter by minimum budget capacity used
maxBudgetCapacityUsedPercent query optional integer filter by maximum budget capacity used
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchCompanies query optional boolean include companies in the search
searchByLetter query optional boolean search projects beginning with the search term character only when it contains a single character.
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only show projects with explicit membership
onlyProjectsThatCanLogTime query optional boolean can log time on projects
onlyArchivedProjects query optional boolean return only archived projects
matchAllProjectTags query optional boolean match all project tags
matchAllExcludedTags query optional boolean match all excluded project tags
isReportDownload query optional boolean generate a report document
includeTentativeProjects query optional boolean include alongside normal projects, tentative ones
includeSubCategories query optional boolean include sub categories when filtering by ids
includeStats query optional boolean include project status counts for tasks columns billing events milestones
includeProjectUserInfo query optional boolean fetch user-specific data such as isStarred
includeProjectProfitability query optional boolean include project profitability in response
includeProjectDates query optional boolean include minimum and maximum start/end dates for projects
includeCustomFields query optional boolean include custom fields
includeCounts query optional boolean include project related counts
includeCompletedStatus query optional boolean optional to include completed projects when filtering by project statuses "current,late".
includeArchivedProjects query optional boolean include archived projects
hideObservedProjects query optional boolean hide projects where the logged-in user is just an observer
alwaysIncludeFiltering query optional boolean includes filters when project ids are provided
teamIds query optional array filter by projects that contain users associated with the team ids
selectedColumns query optional array select the columns to use in exports.
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
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 (not used when generating reports)
fields[workflows] query optional array
fields[users] query optional array
fields[tags] query optional array
fields[stages] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[projectUpdates] query optional array
fields[projectBudgets] query optional array
fields[portfolioColumns] query optional array
fields[portfolioCards] query optional array
fields[portfolioBoards] query optional array
fields[industries] query optional array
fields[customfields] query optional array
fields[customfieldProjects] query optional array
fields[countries] query optional array
fields[companies] query optional array
featuresEnabled query optional array filter by projects that have features enabled
excludeTagIds query optional array exclude by project tag ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects.json
GET /projects/api/v3/projects/metrics/active.json

Return the number of active projects that the logged-in user can access.

operationId: Projects_getActiveCount

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/projects/metrics/active.json
GET /projects/api/v3/projects/metrics/billable.json

Returns the total billable time of all projects that the logged-in user has access.

operationId: Projects_getTotalBillableTime

Parameters

Name In Required Type Description
startDate query optional string
orderMode query optional string order mode
endDate query optional string

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/metrics/billable.json
GET /projects/api/v3/projects/metrics/healths.json

Return the number of projects on each health category. It will only count the projects that the logged-in user can access.

operationId: Projects_getAllHealthSummaries

Parameters

Name In Required Type Description
projectStatus query optional string filter by project status
onlyStarredProjects query optional boolean filter by starred projects only
matchAllProjectTags query optional boolean match all project tags
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 project health 0: not set 1: bad 2: ok 3: good
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/metrics/healths.json
GET /projects/api/v3/projects/metrics/invoice.json

Count the number of open invoices on all projects that the logged-in user has access.

operationId: Projects_getAllOpenInvoices

Parameters

Name In Required Type Description
onlyStarredProjects query optional boolean filter by starred projects only
matchAllProjectTags query optional boolean match all project tags
includeArchivedProjects query optional boolean include archived projects
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array project status
projectOwnerIds query optional array filter by project owner ids
projectIds query optional array filter by project ids
projectHealths query optional array project health 0: not set 1: bad 2: ok 3: good
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/metrics/invoice.json
GET /projects/api/v3/projects/metrics/owners.json

Count the number of projects per project owner user.

operationId: Projects_countOwnedProjects

Parameters

Name In Required Type Description
orderMode query optional string sort order
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 only
matchAllProjectTags query optional boolean match all project tags
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array project status
projectOwnerIds query optional array filter by project owner ids
projectIds query optional array filter by project ids
projectHealths query optional array project health 0: not set 1: bad 2: ok 3: good
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/metrics/owners.json
GET /projects/api/v3/projects/metrics/unbilled.json

Return the un-billed expenses for each project that the logged-in user has access.

operationId: Projects_getUnbilledExpenses

Parameters

Name In Required Type Description
onlyStarredProjects query optional boolean filter by starred projects only
matchAllProjectTags query optional boolean match all project tags
includeArchivedProjects query optional boolean include archived projects
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array project status
projectOwnerIds query optional array filter by project owner ids
projectIds query optional array filter by project ids
projectHealths query optional array project health 0: not set 1: bad 2: ok 3: good
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/metrics/unbilled.json
GET /projects/api/v3/projects/starred.json

Retrieve all starred projects for the provided filters. Only the projects that the logged-in user can access will be returned. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Projects_listStarredProjects

Parameters

Name In Required Type Description
updatedAfter query optional string updated after
searchTerm query optional string filter by project name
reportType query optional string define the type of the report
reportTimezone query optional string Optional to configure the report dates displayed in a timezone
reportFormat query optional string define the format of the report
projectType query optional string filter by project type
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
minLastActivityDate query optional string filter by min last activity date
maxLastActivityDate query optional string filter by max last activity date
currencySymbol query optional string currency symbol for report export
userId query optional integer filter by user id
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
orderByCustomFieldId query optional integer order by custom field id when orderBy is equal to customfield
minBudgetCapacityUsedPercent query optional integer filter by minimum budget capacity used
maxBudgetCapacityUsedPercent query optional integer filter by maximum budget capacity used
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchCompanies query optional boolean include companies in the search
searchByLetter query optional boolean search projects beginning with the search term character only when it contains a single character.
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only show projects with explicit membership
onlyProjectsThatCanLogTime query optional boolean can log time on projects
onlyArchivedProjects query optional boolean return only archived projects
matchAllProjectTags query optional boolean match all project tags
matchAllExcludedTags query optional boolean match all excluded project tags
isReportDownload query optional boolean generate a report document
includeTentativeProjects query optional boolean include alongside normal projects, tentative ones
includeSubCategories query optional boolean include sub categories when filtering by ids
includeStats query optional boolean include project status counts for tasks columns billing events milestones
includeProjectUserInfo query optional boolean fetch user-specific data such as isStarred
includeProjectProfitability query optional boolean include project profitability in response
includeProjectDates query optional boolean include minimum and maximum start/end dates for projects
includeCustomFields query optional boolean include custom fields
includeCounts query optional boolean include project related counts
includeCompletedStatus query optional boolean optional to include completed projects when filtering by project statuses "current,late".
includeArchivedProjects query optional boolean include archived projects
hideObservedProjects query optional boolean hide projects where the logged-in user is just an observer
alwaysIncludeFiltering query optional boolean includes filters when project ids are provided
teamIds query optional array filter by projects that contain users associated with the team ids
selectedColumns query optional array select the columns to use in exports.
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
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 (not used when generating reports)
fields[workflows] query optional array
fields[users] query optional array
fields[tags] query optional array
fields[stages] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[projectUpdates] query optional array
fields[projectBudgets] query optional array
fields[portfolioColumns] query optional array
fields[portfolioCards] query optional array
fields[portfolioBoards] query optional array
fields[industries] query optional array
fields[customfields] query optional array
fields[customfieldProjects] query optional array
fields[countries] query optional array
fields[companies] query optional array
featuresEnabled query optional array filter by projects that have features enabled
excludeTagIds query optional array exclude by project tag ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/starred.json
GET /projects/api/v3/projects/teamwork/samples.json

Retrieve all sample projects for the provided filters.

operationId: Projects_listTeamworkSamples

Parameters

Name In Required Type Description
searchTerm query optional string filter by project name
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
ids query optional array filter by sample ids
fields[sampleprojects] query optional array
categoryIds query optional array filter by category ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/teamwork/samples.json
GET /projects/api/v3/projects/templates.json

Retrieve all projects templates for the provided filters. Only the projects templates that the logged-in user can access will be returned. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Projects_listProjectTemplates

Parameters

Name In Required Type Description
updatedAfter query optional string updated after
searchTerm query optional string filter by project name
reportType query optional string define the type of the report
reportTimezone query optional string Optional to configure the report dates displayed in a timezone
reportFormat query optional string define the format of the report
projectType query optional string filter by project type
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
minLastActivityDate query optional string filter by min last activity date
maxLastActivityDate query optional string filter by max last activity date
currencySymbol query optional string currency symbol for report export
userId query optional integer filter by user id
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
orderByCustomFieldId query optional integer order by custom field id when orderBy is equal to customfield
minBudgetCapacityUsedPercent query optional integer filter by minimum budget capacity used
maxBudgetCapacityUsedPercent query optional integer filter by maximum budget capacity used
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchCompanies query optional boolean include companies in the search
searchByLetter query optional boolean search projects beginning with the search term character only when it contains a single character.
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only show projects with explicit membership
onlyProjectsThatCanLogTime query optional boolean can log time on projects
onlyArchivedProjects query optional boolean return only archived projects
matchAllProjectTags query optional boolean match all project tags
matchAllExcludedTags query optional boolean match all excluded project tags
isReportDownload query optional boolean generate a report document
includeTentativeProjects query optional boolean include alongside normal projects, tentative ones
includeSubCategories query optional boolean include sub categories when filtering by ids
includeStats query optional boolean include project status counts for tasks columns billing events milestones
includeProjectUserInfo query optional boolean fetch user-specific data such as isStarred
includeProjectProfitability query optional boolean include project profitability in response
includeProjectDates query optional boolean include minimum and maximum start/end dates for projects
includeCustomFields query optional boolean include custom fields
includeCounts query optional boolean include project related counts
includeCompletedStatus query optional boolean optional to include completed projects when filtering by project statuses "current,late".
includeArchivedProjects query optional boolean include archived projects
hideObservedProjects query optional boolean hide projects where the logged-in user is just an observer
alwaysIncludeFiltering query optional boolean includes filters when project ids are provided
teamIds query optional array filter by projects that contain users associated with the team ids
selectedColumns query optional array select the columns to use in exports.
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
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 (not used when generating reports)
fields[workflows] query optional array
fields[users] query optional array
fields[tags] query optional array
fields[stages] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[projectUpdates] query optional array
fields[projectBudgets] query optional array
fields[portfolioColumns] query optional array
fields[portfolioCards] query optional array
fields[portfolioBoards] query optional array
fields[industries] query optional array
fields[customfields] query optional array
fields[customfieldProjects] query optional array
fields[countries] query optional array
fields[companies] query optional array
featuresEnabled query optional array filter by projects that have features enabled
excludeTagIds query optional array exclude by project tag ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/templates.json
GET /projects/api/v3/projects/{projectId}.json

On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Projects_getProjectByCustomFields

Parameters

Name In Required Type Description
updatedAfter query optional string updated after
searchTerm query optional string filter by project name
reportType query optional string define the type of the report
reportTimezone query optional string Optional to configure the report dates displayed in a timezone
reportFormat query optional string define the format of the report
projectType query optional string filter by project type
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
minLastActivityDate query optional string filter by min last activity date
maxLastActivityDate query optional string filter by max last activity date
currencySymbol query optional string currency symbol for report export
userId query optional integer filter by user id
projectId path required integer
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
orderByCustomFieldId query optional integer order by custom field id when orderBy is equal to customfield
minBudgetCapacityUsedPercent query optional integer filter by minimum budget capacity used
maxBudgetCapacityUsedPercent query optional integer filter by maximum budget capacity used
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchCompanies query optional boolean include companies in the search
searchByLetter query optional boolean search projects beginning with the search term character only when it contains a single character.
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only show projects with explicit membership
onlyProjectsThatCanLogTime query optional boolean can log time on projects
onlyArchivedProjects query optional boolean return only archived projects
matchAllProjectTags query optional boolean match all project tags
matchAllExcludedTags query optional boolean match all excluded project tags
isReportDownload query optional boolean generate a report document
includeTentativeProjects query optional boolean include alongside normal projects, tentative ones
includeSubCategories query optional boolean include sub categories when filtering by ids
includeStats query optional boolean include project status counts for tasks columns billing events milestones
includeProjectUserInfo query optional boolean fetch user-specific data such as isStarred
includeProjectProfitability query optional boolean include project profitability in response
includeProjectDates query optional boolean include minimum and maximum start/end dates for projects
includeCustomFields query optional boolean include custom fields
includeCounts query optional boolean include project related counts
includeCompletedStatus query optional boolean optional to include completed projects when filtering by project statuses "current,late".
includeArchivedProjects query optional boolean include archived projects
hideObservedProjects query optional boolean hide projects where the logged-in user is just an observer
alwaysIncludeFiltering query optional boolean includes filters when project ids are provided
teamIds query optional array filter by projects that contain users associated with the team ids
selectedColumns query optional array select the columns to use in exports.
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
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 (not used when generating reports)
fields[workflows] query optional array
fields[users] query optional array
fields[tags] query optional array
fields[stages] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[projectUpdates] query optional array
fields[projectBudgets] query optional array
fields[portfolioColumns] query optional array
fields[portfolioCards] query optional array
fields[portfolioBoards] query optional array
fields[industries] query optional array
fields[customfields] query optional array
fields[customfieldProjects] query optional array
fields[countries] query optional array
fields[companies] query optional array
featuresEnabled query optional array filter by projects that have features enabled
excludeTagIds query optional array exclude by project tag ids

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/projects/{projectId}.json
GET /projects/api/v3/projects/{projectId}/featureorder.json
operationId: Projects_getFeatureOrder

Parameters

Name In Required Type Description
projectId path required integer

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/{projectId}/featureorder.json
GET /projects/api/v3/reporting/precanned/health/projects.csv

Generates a project report in CSV format containing all projects for the provided filters. Only the projects that the logged-in user can access will be returned. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Projects_generateProjectReportCsv

Parameters

Name In Required Type Description
updatedAfter query optional string updated after
searchTerm query optional string filter by project name
reportType query optional string define the type of the report
reportTimezone query optional string Optional to configure the report dates displayed in a timezone
reportFormat query optional string define the format of the report
projectType query optional string filter by project type
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
minLastActivityDate query optional string filter by min last activity date
maxLastActivityDate query optional string filter by max last activity date
currencySymbol query optional string currency symbol for report export
userId query optional integer filter by user id
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
orderByCustomFieldId query optional integer order by custom field id when orderBy is equal to customfield
minBudgetCapacityUsedPercent query optional integer filter by minimum budget capacity used
maxBudgetCapacityUsedPercent query optional integer filter by maximum budget capacity used
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchCompanies query optional boolean include companies in the search
searchByLetter query optional boolean search projects beginning with the search term character only when it contains a single character.
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only show projects with explicit membership
onlyProjectsThatCanLogTime query optional boolean can log time on projects
onlyArchivedProjects query optional boolean return only archived projects
matchAllProjectTags query optional boolean match all project tags
matchAllExcludedTags query optional boolean match all excluded project tags
isReportDownload query optional boolean generate a report document
includeTentativeProjects query optional boolean include alongside normal projects, tentative ones
includeSubCategories query optional boolean include sub categories when filtering by ids
includeStats query optional boolean include project status counts for tasks columns billing events milestones
includeProjectUserInfo query optional boolean fetch user-specific data such as isStarred
includeProjectProfitability query optional boolean include project profitability in response
includeProjectDates query optional boolean include minimum and maximum start/end dates for projects
includeCustomFields query optional boolean include custom fields
includeCounts query optional boolean include project related counts
includeCompletedStatus query optional boolean optional to include completed projects when filtering by project statuses "current,late".
includeArchivedProjects query optional boolean include archived projects
hideObservedProjects query optional boolean hide projects where the logged-in user is just an observer
alwaysIncludeFiltering query optional boolean includes filters when project ids are provided
teamIds query optional array filter by projects that contain users associated with the team ids
selectedColumns query optional array select the columns to use in exports.
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
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 (not used when generating reports)
fields[workflows] query optional array
fields[users] query optional array
fields[tags] query optional array
fields[stages] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[projectUpdates] query optional array
fields[projectBudgets] query optional array
fields[portfolioColumns] query optional array
fields[portfolioCards] query optional array
fields[portfolioBoards] query optional array
fields[industries] query optional array
fields[customfields] query optional array
fields[customfieldProjects] query optional array
fields[countries] query optional array
fields[companies] query optional array
featuresEnabled query optional array filter by projects that have features enabled
excludeTagIds query optional array exclude by project tag ids

Responses

200 200 OK (no data)
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/reporting/precanned/health/projects.csv
GET /projects/api/v3/reporting/precanned/health/projects.html

Generates a project report in HTML format containing all projects for the provided filters. Only the projects that the logged-in user can access will be returned. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Projects_generateProjectReportHtml

Parameters

Name In Required Type Description
updatedAfter query optional string updated after
searchTerm query optional string filter by project name
reportType query optional string define the type of the report
reportTimezone query optional string Optional to configure the report dates displayed in a timezone
reportFormat query optional string define the format of the report
projectType query optional string filter by project type
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
minLastActivityDate query optional string filter by min last activity date
maxLastActivityDate query optional string filter by max last activity date
currencySymbol query optional string currency symbol for report export
userId query optional integer filter by user id
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
orderByCustomFieldId query optional integer order by custom field id when orderBy is equal to customfield
minBudgetCapacityUsedPercent query optional integer filter by minimum budget capacity used
maxBudgetCapacityUsedPercent query optional integer filter by maximum budget capacity used
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchCompanies query optional boolean include companies in the search
searchByLetter query optional boolean search projects beginning with the search term character only when it contains a single character.
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only show projects with explicit membership
onlyProjectsThatCanLogTime query optional boolean can log time on projects
onlyArchivedProjects query optional boolean return only archived projects
matchAllProjectTags query optional boolean match all project tags
matchAllExcludedTags query optional boolean match all excluded project tags
isReportDownload query optional boolean generate a report document
includeTentativeProjects query optional boolean include alongside normal projects, tentative ones
includeSubCategories query optional boolean include sub categories when filtering by ids
includeStats query optional boolean include project status counts for tasks columns billing events milestones
includeProjectUserInfo query optional boolean fetch user-specific data such as isStarred
includeProjectProfitability query optional boolean include project profitability in response
includeProjectDates query optional boolean include minimum and maximum start/end dates for projects
includeCustomFields query optional boolean include custom fields
includeCounts query optional boolean include project related counts
includeCompletedStatus query optional boolean optional to include completed projects when filtering by project statuses "current,late".
includeArchivedProjects query optional boolean include archived projects
hideObservedProjects query optional boolean hide projects where the logged-in user is just an observer
alwaysIncludeFiltering query optional boolean includes filters when project ids are provided
teamIds query optional array filter by projects that contain users associated with the team ids
selectedColumns query optional array select the columns to use in exports.
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
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 (not used when generating reports)
fields[workflows] query optional array
fields[users] query optional array
fields[tags] query optional array
fields[stages] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[projectUpdates] query optional array
fields[projectBudgets] query optional array
fields[portfolioColumns] query optional array
fields[portfolioCards] query optional array
fields[portfolioBoards] query optional array
fields[industries] query optional array
fields[customfields] query optional array
fields[customfieldProjects] query optional array
fields[countries] query optional array
fields[companies] query optional array
featuresEnabled query optional array filter by projects that have features enabled
excludeTagIds query optional array exclude by project tag ids

Responses

200 200 OK (no data)
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/reporting/precanned/health/projects.html
GET /projects/api/v3/reporting/precanned/health/projects.pdf

Generates a project report in PDF format containing all projects for the provided filters. Only the projects that the logged-in user can access will be returned. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Projects_generateProjectReportPdf

Parameters

Name In Required Type Description
updatedAfter query optional string updated after
searchTerm query optional string filter by project name
reportType query optional string define the type of the report
reportTimezone query optional string Optional to configure the report dates displayed in a timezone
reportFormat query optional string define the format of the report
projectType query optional string filter by project type
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
minLastActivityDate query optional string filter by min last activity date
maxLastActivityDate query optional string filter by max last activity date
currencySymbol query optional string currency symbol for report export
userId query optional integer filter by user id
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
orderByCustomFieldId query optional integer order by custom field id when orderBy is equal to customfield
minBudgetCapacityUsedPercent query optional integer filter by minimum budget capacity used
maxBudgetCapacityUsedPercent query optional integer filter by maximum budget capacity used
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchCompanies query optional boolean include companies in the search
searchByLetter query optional boolean search projects beginning with the search term character only when it contains a single character.
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only show projects with explicit membership
onlyProjectsThatCanLogTime query optional boolean can log time on projects
onlyArchivedProjects query optional boolean return only archived projects
matchAllProjectTags query optional boolean match all project tags
matchAllExcludedTags query optional boolean match all excluded project tags
isReportDownload query optional boolean generate a report document
includeTentativeProjects query optional boolean include alongside normal projects, tentative ones
includeSubCategories query optional boolean include sub categories when filtering by ids
includeStats query optional boolean include project status counts for tasks columns billing events milestones
includeProjectUserInfo query optional boolean fetch user-specific data such as isStarred
includeProjectProfitability query optional boolean include project profitability in response
includeProjectDates query optional boolean include minimum and maximum start/end dates for projects
includeCustomFields query optional boolean include custom fields
includeCounts query optional boolean include project related counts
includeCompletedStatus query optional boolean optional to include completed projects when filtering by project statuses "current,late".
includeArchivedProjects query optional boolean include archived projects
hideObservedProjects query optional boolean hide projects where the logged-in user is just an observer
alwaysIncludeFiltering query optional boolean includes filters when project ids are provided
teamIds query optional array filter by projects that contain users associated with the team ids
selectedColumns query optional array select the columns to use in exports.
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
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 (not used when generating reports)
fields[workflows] query optional array
fields[users] query optional array
fields[tags] query optional array
fields[stages] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[projectUpdates] query optional array
fields[projectBudgets] query optional array
fields[portfolioColumns] query optional array
fields[portfolioCards] query optional array
fields[portfolioBoards] query optional array
fields[industries] query optional array
fields[customfields] query optional array
fields[customfieldProjects] query optional array
fields[countries] query optional array
fields[companies] query optional array
featuresEnabled query optional array filter by projects that have features enabled
excludeTagIds query optional array exclude by project tag ids

Responses

200 200 OK (no data)
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/reporting/precanned/health/projects.pdf
GET /projects/api/v3/reporting/precanned/health/projects.xlsx

Generates a project report in XLSX format containing all projects for the provided filters. Only the projects that the logged-in user can access will be returned. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Projects_generateProjectReportXlsx

Parameters

Name In Required Type Description
updatedAfter query optional string updated after
searchTerm query optional string filter by project name
reportType query optional string define the type of the report
reportTimezone query optional string Optional to configure the report dates displayed in a timezone
reportFormat query optional string define the format of the report
projectType query optional string filter by project type
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
minLastActivityDate query optional string filter by min last activity date
maxLastActivityDate query optional string filter by max last activity date
currencySymbol query optional string currency symbol for report export
userId query optional integer filter by user id
pageSize query optional integer number of items in a page (not used when generating reports)
page query optional integer page number (not used when generating reports)
orderByCustomFieldId query optional integer order by custom field id when orderBy is equal to customfield
minBudgetCapacityUsedPercent query optional integer filter by minimum budget capacity used
maxBudgetCapacityUsedPercent query optional integer filter by maximum budget capacity used
useFormulaFields query optional boolean use formula fields
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchCompanies query optional boolean include companies in the search
searchByLetter query optional boolean search projects beginning with the search term character only when it contains a single character.
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectsWithExplicitMembership query optional boolean only show projects with explicit membership
onlyProjectsThatCanLogTime query optional boolean can log time on projects
onlyArchivedProjects query optional boolean return only archived projects
matchAllProjectTags query optional boolean match all project tags
matchAllExcludedTags query optional boolean match all excluded project tags
isReportDownload query optional boolean generate a report document
includeTentativeProjects query optional boolean include alongside normal projects, tentative ones
includeSubCategories query optional boolean include sub categories when filtering by ids
includeStats query optional boolean include project status counts for tasks columns billing events milestones
includeProjectUserInfo query optional boolean fetch user-specific data such as isStarred
includeProjectProfitability query optional boolean include project profitability in response
includeProjectDates query optional boolean include minimum and maximum start/end dates for projects
includeCustomFields query optional boolean include custom fields
includeCounts query optional boolean include project related counts
includeCompletedStatus query optional boolean optional to include completed projects when filtering by project statuses "current,late".
includeArchivedProjects query optional boolean include archived projects
hideObservedProjects query optional boolean hide projects where the logged-in user is just an observer
alwaysIncludeFiltering query optional boolean includes filters when project ids are provided
teamIds query optional array filter by projects that contain users associated with the team ids
selectedColumns query optional array select the columns to use in exports.
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
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 (not used when generating reports)
fields[workflows] query optional array
fields[users] query optional array
fields[tags] query optional array
fields[stages] query optional array
fields[projects] query optional array
fields[projectcategories] query optional array
fields[projectUpdates] query optional array
fields[projectBudgets] query optional array
fields[portfolioColumns] query optional array
fields[portfolioCards] query optional array
fields[portfolioBoards] query optional array
fields[industries] query optional array
fields[customfields] query optional array
fields[customfieldProjects] query optional array
fields[countries] query optional array
fields[companies] query optional array
featuresEnabled query optional array filter by projects that have features enabled
excludeTagIds query optional array exclude by project tag ids

Responses

200 200 OK (no data)
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/reporting/precanned/health/projects.xlsx

Risks 2 endpoints

GET /projects/api/v3/projects/{projectId}/risks

Return all risks for a specific project. Only filters that the logged-in user has access will be returned.

operationId: Risks_forProjectGet

Parameters

Name In Required Type Description
updatedAfterDate query optional string filter by risks updated after specified date (deprecated, use updatedAfter)
updatedAfter query optional string filter by risks updated after specified date
sortOrder query optional string sort order (deprecated, use orderMode)
sort query optional string sort by (deprecated, use orderBy)
searchTerm query optional string search term
reportFormat query optional string define the format of the report
orderMode query optional string sort order
orderBy query optional string sort by
projectId path required integer
probabilityTo query optional integer filter by probability
probabilityFrom query optional integer filter by probability
pageSize query optional integer number of items in a page
page query optional integer page number
impactTo query optional integer filter by impact
impactFrom query optional integer filter by impact
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
matchAllProjectTags query optional boolean enforce all tag ids must be matched
isReportDownload query optional boolean generate a report document
includeArchivedProjects query optional boolean include archived projects
impactSchedule query optional boolean filter by risks that impact schedule
impactPerformance query optional boolean filter by risks that impact performance
impactCost query optional boolean filter by risks that impact cost
statuses query optional array filter by risk statuses
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array list of project statuses
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
include query optional array include
ids query optional array filter by specific ids
fields[users] query optional array
fields[risks] query optional array
fields[projects] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/risks
GET /projects/api/v3/risks.json

Return all risks for the provided filters. Only filters that the logged-in user has access will be returned.

operationId: Risks_getAll

Parameters

Name In Required Type Description
updatedAfterDate query optional string filter by risks updated after specified date (deprecated, use updatedAfter)
updatedAfter query optional string filter by risks updated after specified date
sortOrder query optional string sort order (deprecated, use orderMode)
sort query optional string sort by (deprecated, use orderBy)
searchTerm query optional string search term
reportFormat query optional string define the format of the report
orderMode query optional string sort order
orderBy query optional string sort by
probabilityTo query optional integer filter by probability
probabilityFrom query optional integer filter by probability
pageSize query optional integer number of items in a page
page query optional integer page number
impactTo query optional integer filter by impact
impactFrom query optional integer filter by impact
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
matchAllProjectTags query optional boolean enforce all tag ids must be matched
isReportDownload query optional boolean generate a report document
includeArchivedProjects query optional boolean include archived projects
impactSchedule query optional boolean filter by risks that impact schedule
impactPerformance query optional boolean filter by risks that impact performance
impactCost query optional boolean filter by risks that impact cost
statuses query optional array filter by risk statuses
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array list of project statuses
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
include query optional array include
ids query optional array filter by specific ids
fields[users] query optional array
fields[risks] query optional array
fields[projects] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/risks.json

Summary 2 endpoints

GET /projects/api/v3/projects/{projectId}/summary.json

Retrieves the summary from a specific project, returning counters about tasks, milestones, columns, events, risks, timers, projects healths. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Summary_getProjectSummaryDashboardByProjectCustomFields

Parameters

Name In Required Type Description
until query optional string used to limit the since counters to a specific period
timeRangeStart query optional string filter by start datetime
timeRangeEnd query optional string filter by end datetime
timeRange query optional string filter by time range. It will be ignored if timeRangeStart and timeRangeEnd were informed.
status query optional string project status (deprecated, use projectStatuses)
projectStatus query optional string project status
projectId path required integer
eventsDaysAhead query optional integer number of days remaining to event's start
useStartDatesForTodaysTasks query optional boolean enforce today is considered as start date for today's tasks
unreadMessagesMineOnly query optional boolean filter by my unread messages only
unreadCommentsMineOnly query optional boolean filter by my unread comments only
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectEvents query optional boolean filter only project events
matchAllTags query optional boolean enforce all tag ids must be matched (deprecated, use matchAllProjectTags)
matchAllProjectTags query optional boolean enforce all tag ids must be matched
includeAssigneeTeams query optional boolean include teams related to the taskAssigneeUserIds
includeArchivedProjects query optional boolean include archived projects
eventsAttendingOnly query optional boolean count only events that the users are attending
applyTaskAssigneeUsersToSince query optional boolean the since section will only use taskAssigneeUserIds if this flag is true (keeps backward compatibility)
applySinceOnUnread query optional boolean when enabled unread counters will respect the time range period.
userIds query optional array filter by user ids
timeLoggedByUserIds query optional array filter by user ids who time logged
taskAssigneeUserIds query optional array filter by user ids with tasks assigned
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array project statuses
projectOwnerIds query optional array filter by project owner ids
projectIds query optional array filter by project ids
projectHealths query optional array project healths 0: not set 1: bad 2: ok 3: good
projectHealth query optional array project health (deprecated, use projectHealths) 0: not set 1: bad 2: ok 3: good
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
milestoneAssigneeUserIds query optional array filter by user ids with milestones assigned
health query optional array project healths (deprecated, use projectHealths) 0: not set 1: bad 2: ok 3: good
filterTagIds query optional array filter by project tag ids (deprecated, use projectTagIds)
fields[unread] query optional array
fields[time] query optional array
fields[tasks] query optional array sparse fields
fields[since] query optional array
fields[risks] query optional array
fields[milestones] query optional array
fields[health] query optional array 0: not set 1: bad 2: ok 3: good
fields[events] query optional array
fields[columns] query optional array
companyIds query optional array filter by company ids (deprecated, use projectCompanyIds)
assigneeUserIds query optional array filter by user ids with tasks or milestones assigned

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/projects/{projectId}/summary.json
GET /projects/api/v3/summary.json

Retrieves the summary from the entire installation, returning counters about tasks, milestones, columns, events, risks, timers, projects healths. On this endpoint you can filter by project custom fields. The syntax for the query parameter is the following: projectCustomField[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: projectCustomField[10][eq]=Option1 The allowed operators are: - like - not-like - eq - not - lt - gt - any

operationId: Summary_dashboardDataByProjectCustomFields

Parameters

Name In Required Type Description
until query optional string used to limit the since counters to a specific period
timeRangeStart query optional string filter by start datetime
timeRangeEnd query optional string filter by end datetime
timeRange query optional string filter by time range. It will be ignored if timeRangeStart and timeRangeEnd are provided.
status query optional string project status (deprecated, use projectStatuses)
projectStatus query optional string project status
eventsDaysAhead query optional integer number of days remaining to event's start
useStartDatesForTodaysTasks query optional boolean enforce today is considered as start date for today's tasks
unreadMessagesMineOnly query optional boolean filter by my unread messages only
unreadCommentsMineOnly query optional boolean filter by my unread comments only
onlyStarredProjects query optional boolean filter by starred projects only
onlyProjectEvents query optional boolean filter only project events
matchAllTags query optional boolean enforce all tag ids must be matched (deprecated, use matchAllProjectTags)
matchAllProjectTags query optional boolean enforce all tag ids must be matched
includeAssigneeTeams query optional boolean include teams related to the taskAssigneeUserIds
includeArchivedProjects query optional boolean include archived projects
eventsAttendingOnly query optional boolean count only events that the users are attending
applyTaskAssigneeUsersToSince query optional boolean the since section will only use taskAssigneeUserIds if this flag is true (keeps backward compatibility)
applySinceOnUnread query optional boolean when enabled unread counters will respect the time range period.
userIds query optional array filter by user ids
timeLoggedByUserIds query optional array filter by user ids who time logged
taskAssigneeUserIds query optional array filter by user ids with tasks assigned
projectTagIds query optional array filter by project tag ids
projectStatuses query optional array project statuses
projectOwnerIds query optional array filter by project owner ids
projectIds query optional array filter by project ids
projectHealths query optional array project healths 0: not set 1: bad 2: ok 3: good
projectHealth query optional array project healths (deprecated, use projectHealths) 0: not set 1: bad 2: ok 3: good
projectCompanyIds query optional array filter by company ids
projectCategoryIds query optional array filter by project category ids
milestoneAssigneeUserIds query optional array filter by user ids with milestones assigned
filterTagIds query optional array filter by project tag ids (deprecated, use projectTagIds)
fields[unread] query optional array
fields[time] query optional array
fields[tasks] query optional array sparse fields
fields[since] query optional array
fields[risks] query optional array
fields[milestones] query optional array
fields[health] query optional array 0: not set 1: bad 2: ok 3: good
fields[events] query optional array
fields[columns] query optional array
companyIds query optional array filter by company ids (deprecated, use projectCompanyIds)
assigneeUserIds query optional array filter by user ids with tasks or milestones assigned

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/summary.json

Tags 2 endpoints

GET /projects/api/v3/tags.json

Return all tags that the logged-in user can access.

operationId: Tags_getAll

Parameters

Name In Required Type Description
updatedAfter query optional string search for tags updated after the provided date
searchTerm query optional string filter by search term
orderMode query optional string order mode
orderBy query optional string order by
itemType query optional string filter by item type
filter query optional string mode used when filtering the tags
pageSize query optional integer number of items in a page
page query optional integer page number
withCounters query optional boolean include in the response the number of items that use the tag
skipSpecial query optional boolean do not include in the response special tags
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
searchRightOnly query optional boolean search term will be placed as a prefix to match the tag names
skipIds query optional array skip from the result tags with the defined ids
projectIds query optional array filter by projects
ids query optional array filter by ids
fields[tags] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/tags.json
GET /projects/api/v3/tags/{tagId}.json

Return a specific tag.

operationId: Tags_getTagDetails

Parameters

Name In Required Type Description
tagId path required integer

Responses

200 200 OK
400 400 Bad Request
404 404 Not Found (no data)
GET /projects/api/v3/tags/{tagId}.json

Taskcomments 1 endpoints

GET /projects/api/v3/tasks/{taskId}/comments.json
operationId: TaskComments_getList

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
searchTerm query optional string filter by comment content (like v1 filterText param)
publishedStartDate query optional string filter by published after date
publishedEndDate query optional string filter by published before date
orderMode query optional string order mode
orderBy query optional string order by
commentStatus query optional string filter by commment status
taskId path required integer
pageSize query optional integer number of items in a page
page query optional integer page number
strictHTML query optional boolean use strict html filtering fto content
getReactionsCount query optional boolean get reactions count
userIds query optional array filter by user ids
notifiedUserIds query optional array filter by users who got notified for the comments
include query optional array include
fields[users] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
GET /projects/api/v3/tasks/{taskId}/comments.json

Tasklists 7 endpoints

GET /projects/api/v3/projects/{projectId}/tasklists
operationId: TaskLists_getInProject

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after date
searchTerm query optional string filter by search term
projectType query optional string filter by project type
orderMode query optional string order mode
orderBy query optional string order by
projectId path required integer
projectBudgetId query optional integer filter the task list budget by its parent project budget id, if none is provided it weill default to the current active budget.
pageSize query optional integer number of items in a page
page query optional integer page number
useFormulaFields query optional boolean use formula fields
sortActiveListsFirst query optional boolean sort active lists first
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
showPrivate query optional boolean include private items
showDeleted query optional boolean include deleted items
showCompleted query optional boolean include completed items
isReportDownload query optional boolean this means use the tasklist report endpoint, which has totally different query params
includeArchivedProjects query optional boolean include archived projects
getEmptyLists query optional boolean include empty lists
completedOnly query optional boolean include only completed items
projectIds query optional array filter by project ids
projectCompanyIds query optional array filter by project company ids
include query optional array include
ids query optional array filter by ids
fields[users] query optional array
fields[teams] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[lockdowns] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/tasklists
GET /projects/api/v3/projects/{projectId}/tasklists.csv

Generates a task list report in CSV format containing all tasks for the provided filters. Only the tasks that the logged-in user can access will be returned.

operationId: TaskLists_generateCsvReport

Parameters

Name In Required Type Description
taskDate query optional string filter by task date
startDate query optional string filter by start datetime
reportFormat query optional string define the format of the report
orderMode query optional string order mode
orderBy query optional string order by
endDate query optional string filter by end datetime
commentsOrderMode query optional string order mode of the comments
tasklistId query optional integer filter by task list
projectId path required integer
projectId query optional integer filter by project
useFormulaFields query optional boolean use formula fields
onlyCompletedTasks query optional boolean only completed tasks
isReportDownload query optional boolean generate a report document
includeTime query optional boolean include time
includeTags query optional boolean include tags
includePrivateItems query optional boolean include private items
includeLateTasks query optional boolean include late tasks
includeEstimatedTime query optional boolean include estimated time
includeCustomFields query optional boolean include custom fields
includeCompletedTasks query optional boolean include completed tasks
includeComments query optional boolean include comments
includeCommentAvatars query optional boolean include comment avatars
includeColumns query optional boolean include columns
includeAnytimeTasks query optional boolean include anytime tasks
includeAllComments query optional boolean include all comments
ignoreStartDates query optional boolean ignore task start dates
groupByTasklists query optional boolean group by task lists
tags query optional array filter by tag names
tagIds query optional array filter by tag 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

Responses

200 200 OK (no data)
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/tasklists.csv
GET /projects/api/v3/projects/{projectId}/tasklists.html

Generates a task list report in HTML format containing all tasks for the provided filters. Only the tasks that the logged-in user can access will be returned.

operationId: TaskLists_generateHtmlReport

Parameters

Name In Required Type Description
taskDate query optional string filter by task date
startDate query optional string filter by start datetime
reportFormat query optional string define the format of the report
orderMode query optional string order mode
orderBy query optional string order by
endDate query optional string filter by end datetime
commentsOrderMode query optional string order mode of the comments
tasklistId query optional integer filter by task list
projectId path required integer
projectId query optional integer filter by project
useFormulaFields query optional boolean use formula fields
onlyCompletedTasks query optional boolean only completed tasks
isReportDownload query optional boolean generate a report document
includeTime query optional boolean include time
includeTags query optional boolean include tags
includePrivateItems query optional boolean include private items
includeLateTasks query optional boolean include late tasks
includeEstimatedTime query optional boolean include estimated time
includeCustomFields query optional boolean include custom fields
includeCompletedTasks query optional boolean include completed tasks
includeComments query optional boolean include comments
includeCommentAvatars query optional boolean include comment avatars
includeColumns query optional boolean include columns
includeAnytimeTasks query optional boolean include anytime tasks
includeAllComments query optional boolean include all comments
ignoreStartDates query optional boolean ignore task start dates
groupByTasklists query optional boolean group by task lists
tags query optional array filter by tag names
tagIds query optional array filter by tag 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

Responses

200 200 OK (no data)
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/tasklists.html
GET /projects/api/v3/projects/{projectId}/tasklists.pdf

Generates a task list report in PDF format containing all tasks for the provided filters. Only the tasks that the logged-in user can access will be returned.

operationId: TaskLists_generatePdfReport

Parameters

Name In Required Type Description
taskDate query optional string filter by task date
startDate query optional string filter by start datetime
reportFormat query optional string define the format of the report
orderMode query optional string order mode
orderBy query optional string order by
endDate query optional string filter by end datetime
commentsOrderMode query optional string order mode of the comments
tasklistId query optional integer filter by task list
projectId path required integer
projectId query optional integer filter by project
useFormulaFields query optional boolean use formula fields
onlyCompletedTasks query optional boolean only completed tasks
isReportDownload query optional boolean generate a report document
includeTime query optional boolean include time
includeTags query optional boolean include tags
includePrivateItems query optional boolean include private items
includeLateTasks query optional boolean include late tasks
includeEstimatedTime query optional boolean include estimated time
includeCustomFields query optional boolean include custom fields
includeCompletedTasks query optional boolean include completed tasks
includeComments query optional boolean include comments
includeCommentAvatars query optional boolean include comment avatars
includeColumns query optional boolean include columns
includeAnytimeTasks query optional boolean include anytime tasks
includeAllComments query optional boolean include all comments
ignoreStartDates query optional boolean ignore task start dates
groupByTasklists query optional boolean group by task lists
tags query optional array filter by tag names
tagIds query optional array filter by tag 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

Responses

200 200 OK (no data)
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/tasklists.pdf
GET /projects/api/v3/projects/{projectId}/tasklists.xlsx

Generates a task list report in XLSX format containing all tasks for the provided filters. Only the tasks that the logged-in user can access will be returned.

operationId: TaskLists_generateXlsxReport

Parameters

Name In Required Type Description
taskDate query optional string filter by task date
startDate query optional string filter by start datetime
reportFormat query optional string define the format of the report
orderMode query optional string order mode
orderBy query optional string order by
endDate query optional string filter by end datetime
commentsOrderMode query optional string order mode of the comments
tasklistId query optional integer filter by task list
projectId path required integer
projectId query optional integer filter by project
useFormulaFields query optional boolean use formula fields
onlyCompletedTasks query optional boolean only completed tasks
isReportDownload query optional boolean generate a report document
includeTime query optional boolean include time
includeTags query optional boolean include tags
includePrivateItems query optional boolean include private items
includeLateTasks query optional boolean include late tasks
includeEstimatedTime query optional boolean include estimated time
includeCustomFields query optional boolean include custom fields
includeCompletedTasks query optional boolean include completed tasks
includeComments query optional boolean include comments
includeCommentAvatars query optional boolean include comment avatars
includeColumns query optional boolean include columns
includeAnytimeTasks query optional boolean include anytime tasks
includeAllComments query optional boolean include all comments
ignoreStartDates query optional boolean ignore task start dates
groupByTasklists query optional boolean group by task lists
tags query optional array filter by tag names
tagIds query optional array filter by tag 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

Responses

200 200 OK (no data)
400 400 Bad Request
403 403 Forbidden
GET /projects/api/v3/projects/{projectId}/tasklists.xlsx
GET /projects/api/v3/tasklists
operationId: TaskLists_getAll

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after date
searchTerm query optional string filter by search term
projectType query optional string filter by project type
orderMode query optional string order mode
orderBy query optional string order by
projectBudgetId query optional integer filter the task list budget by its parent project budget id, if none is provided it weill default to the current active budget.
pageSize query optional integer number of items in a page
page query optional integer page number
useFormulaFields query optional boolean use formula fields
sortActiveListsFirst query optional boolean sort active lists first
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
showPrivate query optional boolean include private items
showDeleted query optional boolean include deleted items
showCompleted query optional boolean include completed items
isReportDownload query optional boolean this means use the tasklist report endpoint, which has totally different query params
includeArchivedProjects query optional boolean include archived projects
getEmptyLists query optional boolean include empty lists
completedOnly query optional boolean include only completed items
projectIds query optional array filter by project ids
projectCompanyIds query optional array filter by project company ids
include query optional array include
ids query optional array filter by ids
fields[users] query optional array
fields[teams] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[lockdowns] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/tasklists
GET /projects/api/v3/tasklists/{tasklistId}
operationId: TaskLists_getSpecificTasklist

Parameters

Name In Required Type Description
updatedAfter query optional string filter by updated after date
searchTerm query optional string filter by search term
projectType query optional string filter by project type
orderMode query optional string order mode
orderBy query optional string order by
tasklistId path required integer
projectBudgetId query optional integer filter the task list budget by its parent project budget id, if none is provided it weill default to the current active budget.
pageSize query optional integer number of items in a page
page query optional integer page number
useFormulaFields query optional boolean use formula fields
sortActiveListsFirst query optional boolean sort active lists first
skipCounts query optional boolean SkipCounts allows you to skip doing counts on a list API endpoint for performance reasons.
showPrivate query optional boolean include private items
showDeleted query optional boolean include deleted items
showCompleted query optional boolean include completed items
isReportDownload query optional boolean this means use the tasklist report endpoint, which has totally different query params
includeArchivedProjects query optional boolean include archived projects
getEmptyLists query optional boolean include empty lists
completedOnly query optional boolean include only completed items
projectIds query optional array filter by project ids
projectCompanyIds query optional array filter by project company ids
include query optional array include
ids query optional array filter by ids
fields[users] query optional array
fields[teams] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[milestones] query optional array
fields[lockdowns] query optional array
fields[companies] query optional array

Responses

200 200 OK
400 400 Bad Request
GET /projects/api/v3/tasklists/{tasklistId}

Tasks 11 endpoints

GET /projects/api/v3/projects/{projectId}/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_getSpecificProjectTasksFilteredByCustomFields

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
projectId 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/projects/{projectId}/tasks.json
GET /projects/api/v3/reporting/precanned/plannedvsactual/tasks.csv

Generates a plannedvsactual report in CSV format containing all tasks for the provided filters. Only the tasks that the logged-in user can access will be returned.

operationId: Tasks_generatePlannedVsActualReportCsv

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 (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/plannedvsactual/tasks.csv
GET /projects/api/v3/reporting/precanned/plannedvsactual/tasks.html

Generates a plannedvsactual report in HTML format containing all tasks for the provided filters. Only the tasks that the logged-in user can access will be returned.

operationId: Tasks_generatePlannedVsActualReportHtml

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 (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/plannedvsactual/tasks.html
GET /projects/api/v3/reporting/precanned/plannedvsactual/tasks.pdf

Generates a plannedvsactual report in PDF format containing all tasks for the provided filters. Only the tasks that the logged-in user can access will be returned.

operationId: Tasks_generatePlannedVsActualPdf

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 (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/plannedvsactual/tasks.pdf
GET /projects/api/v3/reporting/precanned/plannedvsactual/tasks.xlsx

Generates a plannedvsactual report in XLSX format containing all tasks for the provided filters. Only the tasks that the logged-in user can access will be returned.

operationId: Tasks_generatePlannedVsActualXlsx

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 (no data)
400 400 Bad Request
GET /projects/api/v3/reporting/precanned/plannedvsactual/tasks.xlsx
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
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
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
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

Timetracking 14 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
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
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
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
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
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

Schemas

object active.ProjectMetricActive
{
  "type": "object",
  "title": "ProjectMetricActive",
  "properties": {
    "value": {
      "type": "integer"
    }
  },
  "description": "ProjectMetricActive contains all the information returned from a active."
}
object active.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/active.ProjectMetricActive"
    }
  },
  "description": "Response contains information about a specific active."
}
object activity.ActivitiesResponse
{
  "type": "object",
  "title": "ActivitiesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        }
      }
    },
    "activities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/activity.Activity"
      }
    }
  },
  "description": "ActivitiesResponse contains all the information returned when sending a GET\nrequest to the activity endpoint."
}
object activity.Activity
{
  "type": "object",
  "title": "Activity",
  "properties": {
    "id": {
      "type": "integer"
    },
    "item": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "link": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "itemId": {
      "type": "integer"
    },
    "userId": {
      "type": "integer"
    },
    "company": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "dueDate": {
      "type": "string"
    },
    "forUser": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "dateTime": {
      "type": "string"
    },
    "itemLink": {
      "type": "string"
    },
    "lockdown": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "companyId": {
      "type": "integer"
    },
    "forUserId": {
      "type": "integer"
    },
    "isPrivate": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "lockdownId": {
      "type": "integer"
    },
    "publicInfo": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "forUserName": {
      "type": "string"
    },
    "activityType": {
      "type": "string"
    },
    "extraDescription": {
      "type": "string"
    },
    "latestActivityType": {
      "type": "string"
    }
  },
  "description": "Activity represents a view of activity."
}
object billable.ProjectMetricBillable
{
  "type": "object",
  "title": "ProjectMetricBillable",
  "properties": {
    "name": {
      "type": "string"
    },
    "value": {
      "type": "integer"
    }
  },
  "description": "ProjectMetricBillable contains all the information returned from a billable."
}
object billable.ProjectMetricBillablesResponse
{
  "type": "object",
  "title": "ProjectMetricBillablesResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/billable.ProjectMetricBillable"
      }
    }
  },
  "description": "ProjectMetricBillablesResponse contains information about a group of billables."
}
object category.CategoriesResponse
{
  "type": "object",
  "title": "CategoriesResponse",
  "properties": {
    "projectCategories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.ProjectCategory"
      }
    },
    "projectCategoryTotals": {
      "$ref": "#/components/schemas/view.CategoryTotals"
    }
  },
  "description": "CategoriesResponse contains information about a group of categories."
}
object comment.CommentsResponse
{
  "type": "object",
  "title": "CommentsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/comment.FullComment"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "files": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectFileV205"
          }
        },
        "links": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.LinkItem"
          }
        },
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "notebooks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Notebook"
          }
        },
        "milestones": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Milestone"
          }
        },
        "fileversions": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.FileversionV205"
          }
        }
      }
    }
  },
  "description": "CommentsResponse contains information about a group of comments."
}
object comment.FullComment
{
  "type": "object",
  "title": "FullComment",
  "properties": {
    "id": {
      "type": "integer"
    },
    "body": {
      "type": "string"
    },
    "meta": {
      "$ref": "#/components/schemas/comment.Meta"
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "object": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deleted": {
      "type": "boolean"
    },
    "fileIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "htmlBody": {
      "type": "string"
    },
    "objectId": {
      "type": "integer"
    },
    "postedBy": {
      "type": "integer"
    },
    "deletedBy": {
      "type": "integer"
    },
    "fileCount": {
      "type": "integer"
    },
    "isPrivate": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "reactions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Reaction"
      }
    },
    "lockdownID": {
      "type": "integer"
    },
    "objectType": {
      "type": "string"
    },
    "commentLink": {
      "type": "string"
    },
    "contentType": {
      "type": "string"
    },
    "dateDeleted": {
      "type": "string"
    },
    "installation": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "lastEditedBy": {
      "type": "integer"
    },
    "dateLastEdited": {
      "type": "string"
    },
    "installationId": {
      "type": "integer"
    },
    "postedByUserId": {
      "type": "integer"
    },
    "postedDateTime": {
      "type": "string"
    },
    "reactionsCount": {
      "type": "integer"
    },
    "deletedByUserId": {
      "type": "integer"
    },
    "lastEditedByUserId": {
      "type": "integer"
    },
    "peopleNotifiedCount": {
      "type": "integer"
    }
  },
  "description": "FullComment contains the full information for a comment"
}
object comment.Meta
{
  "type": "object",
  "title": "Meta",
  "properties": {
    "isRead": {
      "type": "boolean"
    },
    "permissions": {
      "$ref": "#/components/schemas/comment.Permissions"
    }
  },
  "description": "Meta contains metadata for a comment, such as permissions"
}
object comment.Permissions
{
  "type": "object",
  "title": "Permissions",
  "properties": {
    "canEdit": {
      "type": "boolean"
    },
    "canDelete": {
      "type": "boolean"
    }
  },
  "description": "Permissions are the permissions the user has for the comment"
}
object company.CompaniesResponse
{
  "type": "object",
  "title": "CompaniesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "letters": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "updates": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CompanyUpdate"
          }
        },
        "countries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Country"
          }
        },
        "industries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Industry"
          }
        },
        "customfields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomField"
          }
        },
        "customfieldCompanies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomFieldValueCompany"
          }
        }
      }
    },
    "companies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Company"
      }
    }
  },
  "description": "CompaniesResponse contains information about a group of companies."
}
object company.Company
{
  "type": "object",
  "title": "Company",
  "properties": {
    "cid": {
      "type": "string"
    },
    "fax": {
      "type": "string"
    },
    "zip": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "profile": {
      "type": "string"
    },
    "website": {
      "type": "string"
    },
    "emailOne": {
      "type": "string"
    },
    "emailTwo": {
      "type": "string"
    },
    "addressOne": {
      "type": "string"
    },
    "addressTwo": {
      "type": "string"
    },
    "emailThree": {
      "type": "string"
    },
    "countrycode": {
      "type": "string"
    },
    "customFields": {
      "$ref": "#/components/schemas/company.CustomFields"
    },
    "privateNotes": {
      "type": "string"
    },
    "industryCatId": {
      "type": "integer"
    },
    "clientManagedBy": {
      "type": "integer"
    },
    "logoPendingFileRef": {
      "type": "string"
    }
  },
  "description": "Company contains all the information returned from a company."
}
object company.CustomFields
{
  "type": "object",
  "title": "CustomFields",
  "properties": {
    "Values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/value.CustomFieldValue"
      }
    }
  },
  "description": "CustomFields is the custom fields type."
}
object company.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tag.Tag"
      }
    },
    "company": {
      "$ref": "#/components/schemas/company.Company"
    },
    "companyOptions": {
      "type": "object",
      "properties": {
        "fireWebhook": {
          "type": "boolean"
        },
        "logActivity": {
          "type": "boolean"
        },
        "useNotifyViaTWIM": {
          "type": "boolean"
        }
      }
    }
  },
  "description": "Request contains information of a company to be created or updated."
}
object company.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "company": {
      "$ref": "#/components/schemas/view.Company"
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "updates": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CompanyUpdate"
          }
        },
        "countries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Country"
          }
        },
        "industries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Industry"
          }
        },
        "customfields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomField"
          }
        },
        "customfieldCompanies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomFieldValueCompany"
          }
        }
      }
    }
  },
  "description": "Response contains information about a specific company."
}
object complete.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/complete.TaskMetricComplete"
    }
  },
  "description": "Response contains information about a specific complete."
}
object complete.TaskMetricComplete
{
  "type": "object",
  "title": "TaskMetricComplete",
  "properties": {
    "value": {
      "type": "integer"
    }
  },
  "description": "TaskMetricComplete contains all the information returned from a complete."
}
object customfield.BulkDeleteRequest
{
  "type": "object",
  "title": "BulkDeleteRequest",
  "properties": {
    "customfieldIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "BulkDeleteRequest contains the ids of the custom fields that should be\nremoved."
}
object customfield.CustomField
{
  "type": "object",
  "title": "CustomField",
  "properties": {
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "entity": {
      "type": "string",
      "description": "using a verbose name to avoid conflict"
    },
    "formula": {
      "type": "string"
    },
    "groupId": {
      "type": "integer"
    },
    "options": {},
    "privacy": {
      "$ref": "#/components/schemas/payload.UserGroups"
    },
    "required": {
      "type": "boolean"
    },
    "isPrivate": {
      "type": "boolean"
    },
    "projectId": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "currencyCode": {
      "type": "string"
    },
    "visibilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "CustomField contains all the information returned from a custom field."
}
object customfield.CustomFieldsResponse
{
  "type": "object",
  "title": "CustomFieldsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        }
      }
    },
    "customfields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.CustomField"
      }
    }
  },
  "description": "CustomFieldsResponse contains information about a group of custom fields."
}
object customfield.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "customfield": {
      "$ref": "#/components/schemas/customfield.CustomField"
    }
  },
  "description": "Request contains information of a custom field to be created or updated."
}
object customfield.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "count": {
      "type": "integer"
    },
    "customfield": {
      "$ref": "#/components/schemas/view.CustomField"
    }
  },
  "description": "Response contains information about a specific customfield."
}
object dashboard.UserDashboardsResponse
{
  "type": "object",
  "title": "UserDashboardsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "dashboardPanels": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.UserDashboardPanel"
          }
        },
        "dashboardSettings": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.UserDashboardSetting"
          }
        },
        "dashboardPanelSettings": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.UserDashboardPanelSetting"
          }
        }
      }
    },
    "dashboards": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.UserDashboard"
      }
    }
  },
  "description": "UserDashboardsResponse contains information about a group of dashboards."
}
object deadline.MilestoneMetricDeadline
{
  "type": "object",
  "title": "MilestoneMetricDeadline",
  "properties": {
    "date": {
      "type": "string"
    },
    "value": {
      "type": "integer"
    }
  },
  "description": "MilestoneMetricDeadline contains all the information returned from a deadline."
}
object deadline.MilestoneMetricDeadlinesResponse
{
  "type": "object",
  "title": "MilestoneMetricDeadlinesResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/deadline.MilestoneMetricDeadline"
      }
    }
  },
  "description": "MilestoneMetricDeadlinesResponse contains information about a group of deadlines."
}
object entity.ProjectBudgetRange
{
  "type": "object",
  "title": "ProjectBudgetRange",
  "properties": {
    "to": {
      "type": "integer"
    },
    "from": {
      "type": "integer"
    },
    "count": {
      "type": "integer"
    },
    "companyId": {
      "type": "integer"
    }
  },
  "description": "ProjectBudgetRange is a distribution item type."
}
object form.Banner
{
  "type": "object",
  "title": "Banner",
  "properties": {
    "x": {
      "type": "number"
    },
    "y": {
      "type": "number"
    },
    "url": {
      "type": "string"
    },
    "accentColor": {
      "type": "string"
    },
    "primaryColor": {
      "type": "string"
    }
  },
  "description": "Banner contains information of a form banner to be created or updated."
}
object form.Content
{
  "type": "object",
  "title": "Content",
  "properties": {
    "logo": {
      "$ref": "#/components/schemas/form.Logo"
    },
    "name": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "banner": {
      "$ref": "#/components/schemas/form.Banner"
    },
    "definition": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "pendingLogoId": {
      "type": "string"
    },
    "pendingBannerId": {
      "type": "string"
    }
  },
  "description": "Content contains information of a form content to be created or updated."
}
object form.CopyForm
{
  "type": "object",
  "title": "CopyForm",
  "properties": {
    "title": {
      "type": "string"
    },
    "hostObject": {
      "$ref": "#/components/schemas/form.HostObject"
    },
    "projectIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "copyAssignees": {
      "type": "boolean"
    },
    "generateToken": {
      "type": "boolean"
    }
  },
  "description": "CopyForm contains information on where and what to copy from a form"
}
object form.CopyRequest
{
  "type": "object",
  "title": "CopyRequest",
  "properties": {
    "form": {
      "$ref": "#/components/schemas/form.CopyForm"
    }
  },
  "description": "CopyRequest outter request for copying a form"
}
object form.DestinationObject
{
  "type": "object",
  "title": "DestinationObject",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "description": "DestinationObject contains information of a form destination object to be created or updated."
}
object form.Form
{
  "type": "object",
  "title": "Form",
  "properties": {
    "content": {
      "$ref": "#/components/schemas/form.Content"
    },
    "hostObject": {
      "$ref": "#/components/schemas/form.HostObject"
    },
    "redirectUrl": {
      "type": "string"
    },
    "primaryColor": {
      "type": "string"
    },
    "submitButtonText": {
      "type": "string"
    },
    "taskTitleFieldId": {
      "type": "string"
    },
    "destinationObject": {
      "$ref": "#/components/schemas/form.DestinationObject"
    },
    "confirmationMessage": {
      "type": "string"
    },
    "responseEmailFieldId": {
      "type": "string"
    },
    "allowTeamworkBranding": {
      "type": "boolean"
    },
    "promptAdditionalSubmissions": {
      "type": "boolean"
    }
  },
  "description": "Form contains information of a form to be created or updated."
}
object form.FormsResponse
{
  "type": "object",
  "title": "FormsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "forms": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Form"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        }
      }
    }
  },
  "description": "FormsResponse contains information about a group of forms."
}
object form.HostObject
{
  "type": "object",
  "title": "HostObject",
  "properties": {
    "id": {
      "type": "integer"
    },
    "meta": {
      "$ref": "#/components/schemas/form.HostObjectMeta"
    },
    "type": {
      "type": "string"
    }
  },
  "description": "HostObject contains information of a form host object to be created or updated."
}
object form.HostObjectMeta
{
  "type": "object",
  "title": "HostObjectMeta",
  "properties": {
    "tasklistId": {
      "type": "integer"
    }
  },
  "description": "HostObjectMeta contains information of a form host object meta to be created or updated."
}
object form.Logo
{
  "type": "object",
  "title": "Logo",
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "description": "Logo contains information of a form custom logo to be created or updated."
}
object form.PublicResponse
{
  "type": "object",
  "title": "PublicResponse",
  "properties": {
    "form": {
      "$ref": "#/components/schemas/view.PublicForm"
    }
  },
  "description": "PublicResponse contains information about a specific public form."
}
object form.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "form": {
      "$ref": "#/components/schemas/form.Form"
    }
  },
  "description": "Request contains information of a form to be created or updated."
}
object form.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "form": {
      "$ref": "#/components/schemas/view.Form"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        }
      }
    }
  },
  "description": "Response contains information about a specific form."
}
object health.ProjectMetricHealth
{
  "type": "object",
  "title": "ProjectMetricHealth",
  "properties": {
    "name": {
      "type": "string"
    },
    "value": {
      "type": "integer"
    }
  },
  "description": "ProjectMetricHealth stores a specific health counter."
}
object health.ProjectMetricHealthsResponse
{
  "type": "object",
  "title": "ProjectMetricHealthsResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/health.ProjectMetricHealth"
      }
    }
  },
  "description": "ProjectMetricHealthsResponse contains information about a group of healths.\nFollowing this format to satisfy the Numerics integration."
}
object importer.Importer
{
  "type": "object",
  "title": "Importer",
  "properties": {
    "name": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "running": {
      "type": "boolean"
    }
  },
  "description": "Importer single importer for response."
}
object importer.ImportersResponse
{
  "type": "object",
  "title": "ImportersResponse",
  "properties": {
    "importers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/importer.Importer"
      }
    },
    "isImporting": {
      "type": "boolean"
    }
  },
  "description": "ImportersResponse contains information about a group of importers."
}
object invoice.ProjectMetricInvoicesResponse
{
  "type": "object",
  "title": "ProjectMetricInvoicesResponse",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        }
      }
    }
  },
  "description": "ProjectMetricInvoicesResponse contains information about a group of invoices."
}
object late.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/late.TaskMetricLate"
    }
  },
  "description": "Response contains the count of late tasks.\nFollowing this format to satisfy the Numerics integration."
}
object late.TaskMetricLate
{
  "type": "object",
  "title": "TaskMetricLate",
  "properties": {
    "value": {
      "type": "integer"
    }
  },
  "description": "TaskMetricLate contains count information about late tasks."
}
object message.MessagesResponse
{
  "type": "object",
  "title": "MessagesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "Included": {
          "$ref": "#/components/schemas/messagereply.Included"
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "messageReplies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.MessageReply"
          }
        }
      }
    },
    "messages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Message"
      }
    }
  },
  "description": "MessagesResponse contains all the information returned when sending a GET\nrequest to the message endpoint."
}
object message.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "read": {
      "type": "boolean"
    }
  },
  "description": "Request contains information of a message to be created or updated."
}
object message.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "message": {
      "$ref": "#/components/schemas/view.Message"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "Included": {
          "$ref": "#/components/schemas/messagereply.Included"
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "messageReplies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.MessageReply"
          }
        }
      }
    }
  },
  "description": "Response contains information about a specific message."
}
object messagereply.Included
{
  "type": "object",
  "title": "Included",
  "properties": {
    "tags": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Tag"
      }
    },
    "users": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.User"
      }
    },
    "messages": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Message"
      }
    }
  },
  "description": "Included contains sideloadable stuff for message replies."
}
object milestone.MilestonesResponse
{
  "type": "object",
  "title": "MilestonesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        },
        "projectCategories": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectCategory"
          }
        },
        "tasklistTaskStats": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskStats"
          }
        }
      }
    },
    "milestones": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Milestone"
      }
    }
  },
  "description": "MilestonesResponse contains information about a group of milestones."
}
object milestone.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        },
        "projectCategories": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectCategory"
          }
        },
        "tasklistTaskStats": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskStats"
          }
        }
      }
    },
    "milestone": {
      "$ref": "#/components/schemas/view.Milestone"
    }
  },
  "description": "Response contains information about a milestone."
}
object notebook.Notebook
{
  "type": "object",
  "title": "Notebook",
  "properties": {
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "locked": {
      "type": "boolean"
    },
    "notify": {
      "$ref": "#/components/schemas/payload.Notify"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "privacy": {
      "$ref": "#/components/schemas/payload.UserGroups"
    },
    "contents": {
      "type": "string"
    },
    "sendDiff": {
      "type": "boolean"
    },
    "isPrivate": {
      "type": "boolean"
    },
    "categoryId": {
      "type": "integer"
    },
    "newVersion": {
      "type": "boolean"
    },
    "description": {
      "type": "string"
    },
    "isFullWidth": {
      "type": "boolean"
    },
    "secureContent": {
      "type": "boolean"
    },
    "notifyCurrentUser": {
      "type": "boolean"
    }
  },
  "description": "Notebook contains all the information returned from a notebook."
}
object notebook.NotebooksResponse
{
  "type": "object",
  "title": "NotebooksResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "notebookCategories": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.NotebookCategory"
          }
        }
      }
    },
    "notebooks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Notebook"
      }
    }
  },
  "description": "NotebooksResponse contains information about a group of notebooks."
}
object notebook.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "notebook": {
      "$ref": "#/components/schemas/notebook.Notebook"
    }
  },
  "description": "Request contains information of a notebook to be created or updated."
}
object notebook.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "notebookCategories": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.NotebookCategory"
          }
        }
      }
    },
    "notebook": {
      "$ref": "#/components/schemas/view.Notebook"
    }
  },
  "description": "Response contains information about a specific notebook."
}
object notebook.VersionResponse
{
  "type": "object",
  "title": "VersionResponse",
  "properties": {
    "version": {
      "$ref": "#/components/schemas/view.NotebookVersion"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        }
      }
    }
  },
  "description": "VersionResponse contains information about a specifc notebook version"
}
object notebook.VersionsResponse
{
  "type": "object",
  "title": "VersionsResponse",
  "properties": {
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        }
      }
    },
    "versions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.NotebookVersion"
      }
    }
  },
  "description": "VersionsResponse contains information about a group of notebook versions"
}
object notification.ProjectBudgetNotification
{
  "type": "object",
  "title": "ProjectBudgetNotification",
  "properties": {
    "id": {
      "type": "integer"
    },
    "teamIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "userIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "budgetId": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "companyIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "capacityThreshold": {
      "type": "number"
    },
    "notificationMedium": {
      "type": "string"
    }
  },
  "description": "ProjectBudgetNotification contains all the information returned from a notification."
}
object notification.ProjectBudgetRequest
{
  "type": "object",
  "title": "ProjectBudgetRequest",
  "properties": {
    "notification": {
      "$ref": "#/components/schemas/notification.ProjectBudgetNotification"
    }
  },
  "description": "ProjectBudgetRequest contains information of a notification to be created or updated."
}
object notification.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "notification": {
      "$ref": "#/components/schemas/view.Notification"
    }
  },
  "description": "Response contains information about a specific notification."
}
object owner.ProjectMetricOwner
{
  "type": "object",
  "title": "ProjectMetricOwner",
  "properties": {
    "name": {
      "type": "string"
    },
    "value": {
      "type": "integer"
    }
  },
  "description": "ProjectMetricOwner contains information about a specific owner."
}
object owner.ProjectMetricOwnersResponse
{
  "type": "object",
  "title": "ProjectMetricOwnersResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/owner.ProjectMetricOwner"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    }
  },
  "description": "ProjectMetricOwnersResponse contains information about a group of owners."
}
object payload.Date
{
  "type": "object",
  "title": "Date",
  "description": "Date unmarshals represents a Unified API Spec date format."
}
object payload.Notify
{
  "type": "object",
  "title": "Notify",
  "properties": {
    "ids": {
      "$ref": "#/components/schemas/payload.UserGroups"
    },
    "type": {
      "$ref": "#/components/schemas/payload.NotifyType"
    }
  },
  "description": "Notify defines the access lists."
}
object payload.NotifyType
{
  "type": "object",
  "title": "NotifyType",
  "properties": {
    "Set": {
      "type": "boolean"
    },
    "Null": {
      "type": "boolean"
    },
    "Value": {
      "type": "string"
    }
  },
  "description": "NotifyType implements json.Unmarshaler to allow testing between a value\nthat explicitly set to null or omitted."
}
object payload.NullableDate
{
  "type": "object",
  "title": "NullableDate",
  "properties": {
    "Set": {
      "type": "boolean"
    },
    "Null": {
      "type": "boolean"
    },
    "Value": {
      "$ref": "#/components/schemas/payload.Date"
    }
  },
  "description": "NullableDate implements json.Unmarshaler to allow testing between a value\nthat explicitly set to null or omitted.\nDate format \"2006-01-02\""
}
object payload.NullableInt64Slice
{
  "type": "object",
  "title": "NullableInt64Slice",
  "properties": {
    "Set": {
      "type": "boolean"
    },
    "Null": {
      "type": "boolean"
    },
    "Value": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a\nvalue that explicitly set to null or omitted."
}
object payload.NullableTaskPriority
{
  "type": "object",
  "title": "NullableTaskPriority",
  "properties": {
    "Set": {
      "type": "boolean"
    },
    "Null": {
      "type": "boolean"
    },
    "Value": {
      "type": "string"
    }
  },
  "description": "NullableTaskPriority implements json.Unmarshaler to allow testing\nbetween a value that explicitly set to null or omitted."
}
object payload.NullableTaskRepeatFrequency
{
  "type": "object",
  "title": "NullableTaskRepeatFrequency",
  "properties": {
    "Set": {
      "type": "boolean"
    },
    "Null": {
      "type": "boolean"
    },
    "Value": {
      "type": "string"
    }
  },
  "description": "NullableTaskRepeatFrequency implements json.Unmarshaler to allow testing\nbetween a value that explicitly set to null or omitted."
}
object payload.NullableTaskRepeatMonthlyType
{
  "type": "object",
  "title": "NullableTaskRepeatMonthlyType",
  "properties": {
    "Set": {
      "type": "boolean"
    },
    "Null": {
      "type": "boolean"
    },
    "Value": {
      "type": "string"
    }
  },
  "description": "NullableTaskRepeatMonthlyType implements json.Unmarshaler to allow testing\nbetween a value that explicitly set to null or omitted."
}
object payload.NullableWorkingHourEntryWeekdays
{
  "type": "object",
  "title": "NullableWorkingHourEntryWeekdays",
  "properties": {
    "Set": {
      "type": "boolean"
    },
    "Null": {
      "type": "boolean"
    },
    "Value": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "NullableWorkingHourEntryWeekdays implements json.Unmarshaler to allow testing\nbetween a value that explicitly set to null or omitted."
}
object payload.Time
{
  "type": "object",
  "title": "Time",
  "description": "Time unmarshals represents a Unified API Spec date format."
}
object payload.UserGroups
{
  "type": "object",
  "title": "UserGroups",
  "properties": {
    "teamIds": {
      "$ref": "#/components/schemas/payload.NullableInt64Slice"
    },
    "userIds": {
      "$ref": "#/components/schemas/payload.NullableInt64Slice"
    },
    "companyIds": {
      "$ref": "#/components/schemas/payload.NullableInt64Slice"
    }
  },
  "description": "UserGroups are common lists for storing users, companies and teams ids\ntogether."
}
object people.AddPeopleToProjectResponse
{
  "type": "object",
  "title": "AddPeopleToProjectResponse",
  "properties": {
    "info": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "teamIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "usersAdded": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "usersNotAdded": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "usersAlreadyInProject": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "AddPeopleToProjectResponse contains information about which users were and weren't add to the project as well\nas why the users were not able to be added"
}
object people.MultiResponse
{
  "type": "object",
  "title": "MultiResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "people": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.User"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "workingHours": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.WorkingHour"
          }
        },
        "ProjectPermissions": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectPermissions"
          }
        }
      }
    }
  },
  "description": "MultiResponse contains information about a group of users."
}
object people.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "person": {
      "$ref": "#/components/schemas/view.User"
    },
    "included": {
      "type": "object",
      "properties": {
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "workingHours": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.WorkingHour"
          }
        },
        "ProjectPermissions": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectPermissions"
          }
        }
      }
    }
  },
  "description": "Response contains information about a user."
}
object people.TaskCompletion
{
  "type": "object",
  "title": "TaskCompletion",
  "properties": {
    "userId": {
      "type": "integer"
    },
    "overdueTasks": {
      "type": "integer"
    },
    "assignedTasks": {
      "type": "integer"
    },
    "activeProjects": {
      "type": "integer"
    },
    "completedTasks": {
      "type": "integer"
    }
  },
  "description": "TaskCompletion contains information about tasks completed by a user."
}
object people.TaskCompletionResponse
{
  "type": "object",
  "title": "TaskCompletionResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        }
      }
    },
    "taskCompletions": {
      "$ref": "#/components/schemas/people.TaskCompletions"
    }
  },
  "description": "TaskCompletionResponse contains information about tasks completed by a user."
}
object people.TaskCompletions
{
  "type": "object",
  "title": "TaskCompletions",
  "properties": {
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/people.TaskCompletion"
      }
    },
    "totalOverdueTasks": {
      "type": "integer"
    },
    "totalAssignedTasks": {
      "type": "integer"
    },
    "totalActiveProjects": {
      "type": "integer"
    },
    "totalCompletedTasks": {
      "type": "integer"
    }
  },
  "description": "TaskCompletions represents a summary row of total computed counts of, plus individual user data\n/reporting/precanned/usertaskcompletions.json endpoint"
}
object people.UsersPayload
{
  "type": "object",
  "title": "UsersPayload",
  "properties": {
    "userIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "checkTeamIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "UsersPayload consists of userIDs"
}
object performance.PeopleMetricPerformance
{
  "type": "object",
  "title": "PeopleMetricPerformance",
  "properties": {
    "name": {
      "type": "string"
    },
    "value": {
      "type": "integer"
    }
  },
  "description": "PeopleMetricPerformance contains all the information returned from a performance."
}
object performance.PeopleMetricPerformancesResponse
{
  "type": "object",
  "title": "PeopleMetricPerformancesResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/performance.PeopleMetricPerformance"
      }
    }
  },
  "description": "PeopleMetricPerformancesResponse contains information about a group of performances."
}
object planner.WorkloadPlanner
{
  "type": "object",
  "title": "WorkloadPlanner",
  "properties": {
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "userId": {
      "type": "integer"
    },
    "capacities": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/planner.WorkloadPlannerCapacity"
      }
    }
  },
  "description": "WorkloadPlanner contains all the information returned from a planner."
}
object planner.WorkloadPlannerCapacity
{
  "type": "object",
  "title": "WorkloadPlannerCapacity",
  "properties": {
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/planner.WorkloadPlannerCapacityTask"
      }
    },
    "capacity": {
      "type": "number",
      "description": "percentage"
    },
    "lengthOfDayMinutes": {
      "type": "number"
    },
    "estimateMinutesTotal": {
      "type": "number"
    }
  },
  "description": "WorkloadPlannerCapacity contains the information regarding an user on a\nspecific date."
}
object planner.WorkloadPlannerCapacityTask
{
  "type": "object",
  "title": "WorkloadPlannerCapacityTask",
  "properties": {
    "taskId": {
      "type": "integer"
    },
    "estimateMinutes": {
      "type": "number"
    }
  },
  "description": "WorkloadPlannerCapacityTask provides how many minutes should a user work in a\ntask for a specific date."
}
object planner.WorkloadPlannersResponse
{
  "type": "object",
  "title": "WorkloadPlannersResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "timelogs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Timelog"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        },
        "milestones": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Milestone"
          }
        },
        "workingHours": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.WorkingHour"
          }
        },
        "calendarEvents": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.LegacyCalendarEvent"
          }
        },
        "workingHourEntries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.WorkingHourEntry"
          }
        }
      }
    },
    "planners": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/planner.WorkloadPlanner"
      }
    }
  },
  "description": "WorkloadPlannersResponse contains information about a group of planners."
}
object priceplan.FeaturesResponse
{
  "type": "object",
  "title": "FeaturesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "features": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Feature"
      }
    }
  },
  "description": "FeaturesResponse contains all the information returned when sending a GET\nrequest to the features endpoint."
}
object project.FeatureOrder
{
  "type": "object",
  "title": "FeatureOrder",
  "properties": {
    "id": {
      "type": "integer"
    },
    "list": {
      "type": "integer"
    },
    "time": {
      "type": "integer"
    },
    "board": {
      "type": "integer"
    },
    "files": {
      "type": "integer"
    },
    "forms": {
      "type": "integer"
    },
    "gantt": {
      "type": "integer"
    },
    "links": {
      "type": "integer"
    },
    "risks": {
      "type": "integer"
    },
    "table": {
      "type": "integer"
    },
    "people": {
      "type": "integer"
    },
    "proofs": {
      "type": "integer"
    },
    "billing": {
      "type": "integer"
    },
    "finance": {
      "type": "integer"
    },
    "comments": {
      "type": "integer"
    },
    "messages": {
      "type": "integer"
    },
    "settings": {
      "type": "integer"
    },
    "dashboard": {
      "type": "integer"
    },
    "notebooks": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "milestones": {
      "type": "integer"
    },
    "installationId": {
      "type": "integer"
    },
    "numVisibleTabs": {
      "type": "integer"
    }
  },
  "description": "FeatureOrder contains the information of the feature\norder to display in the UI for a project."
}
object project.FeatureOrderDefaults
{
  "type": "object",
  "title": "FeatureOrderDefaults",
  "properties": {
    "list": {
      "type": "integer"
    },
    "time": {
      "type": "integer"
    },
    "board": {
      "type": "integer"
    },
    "files": {
      "type": "integer"
    },
    "forms": {
      "type": "integer"
    },
    "gantt": {
      "type": "integer"
    },
    "links": {
      "type": "integer"
    },
    "risks": {
      "type": "integer"
    },
    "table": {
      "type": "integer"
    },
    "people": {
      "type": "integer"
    },
    "proofs": {
      "type": "integer"
    },
    "billing": {
      "type": "integer"
    },
    "finance": {
      "type": "integer"
    },
    "comments": {
      "type": "integer"
    },
    "messages": {
      "type": "integer"
    },
    "settings": {
      "type": "integer"
    },
    "dashboard": {
      "type": "integer"
    },
    "notebooks": {
      "type": "integer"
    },
    "milestones": {
      "type": "integer"
    },
    "numVisibleTabs": {
      "type": "integer"
    }
  },
  "description": "FeatureOrderDefaults is the payload used to set\nthe defaults for all projects feature order, and\nallows to also update the projects that have\nan explicitly set defaults"
}
object project.FeatureOrderRequest
{
  "type": "object",
  "title": "FeatureOrderRequest",
  "properties": {
    "featureOrder": {
      "$ref": "#/components/schemas/project.FeatureOrder"
    },
    "featureOrderOptions": {
      "type": "object",
      "properties": {
        "useNotifyViaTWIM": {
          "type": "boolean"
        }
      }
    }
  },
  "description": "FeatureOrderRequest is the payload used to set\nthe project features order as we want to appear\nin the UI tabs selection"
}
object project.FeatureOrderResponse
{
  "type": "object",
  "title": "FeatureOrderResponse",
  "properties": {
    "featureOrder": {
      "$ref": "#/components/schemas/project.FeatureOrder"
    }
  },
  "description": "FeatureOrderResponse is the api response containing\ninformation about the order to display the featues in the UI."
}
object project.Included
{
  "type": "object",
  "title": "Included",
  "properties": {
    "tags": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Tag"
      }
    },
    "users": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.User"
      }
    },
    "stages": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Stage"
      }
    },
    "companies": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Company"
      }
    },
    "countries": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Country"
      }
    },
    "workflows": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Workflow"
      }
    },
    "activities": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ActivityLog"
      }
    },
    "industries": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Industry"
      }
    },
    "customfields": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.CustomField"
      }
    },
    "portfolioCards": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.PortfolioCard"
      }
    },
    "projectBudgets": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectBudget"
      }
    },
    "projectUpdates": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectUpdate"
      }
    },
    "portfolioBoards": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.PortfolioBoard"
      }
    },
    "portfolioColumns": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.PortfolioColumn"
      }
    },
    "projectTaskStats": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.TaskStats"
      }
    },
    "projectCategories": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectCategory"
      }
    },
    "customfieldProjects": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.CustomFieldValueProject"
      }
    },
    "projectEmailDropboxes": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectEmailDropbox"
      }
    }
  },
  "description": "Included is the task sideloads"
}
object project.SampleProjectsResponse
{
  "type": "object",
  "title": "SampleProjectsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "projectCategories": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectCategory"
          }
        }
      }
    },
    "projects": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.SampleProject"
      }
    }
  },
  "description": "SampleProjectsResponse contains information about a group of sample projects."
}
object project.projectsResponseV205
{
  "type": "object",
  "title": "projectsResponseV205",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "$ref": "#/components/schemas/project.Included"
    },
    "projects": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.ProjectV205"
      }
    }
  },
  "description": "projectsResponseV205 contains information about a group of projects."
}
object project.responseV205
{
  "type": "object",
  "title": "responseV205",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "project": {
      "$ref": "#/components/schemas/view.ProjectV205"
    },
    "included": {
      "$ref": "#/components/schemas/project.Included"
    }
  },
  "description": "responseV205 contains information about a project."
}
object risk.RisksResponse
{
  "type": "object",
  "title": "RisksResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "risks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Risk"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        }
      }
    }
  },
  "description": "RisksResponse contains all the information returned when sending a GET\nrequest to the risk endpoint."
}
object status.TimelineResponse
{
  "type": "object",
  "title": "TimelineResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "userEvents": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.UserEvents"
          }
        }
      }
    },
    "statuses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Status"
      }
    }
  },
  "description": "TimelineResponse contains information about a group of statuses."
}
object summary.ColumnCardResponse
{
  "type": "object",
  "title": "ColumnCardResponse",
  "properties": {
    "count": {
      "type": "integer"
    },
    "active": {
      "type": "integer"
    },
    "archived": {
      "type": "integer"
    },
    "completed": {
      "type": "integer"
    }
  },
  "description": "ColumnCardResponse contains counters from column's cards."
}
object summary.ColumnDataResponse
{
  "type": "object",
  "title": "ColumnDataResponse",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "cards": {
      "$ref": "#/components/schemas/summary.ColumnCardResponse"
    },
    "color": {
      "type": "string"
    },
    "estimatedTime": {
      "$ref": "#/components/schemas/summary.ColumnEstimatedResponse"
    }
  },
  "description": "ColumnDataResponse contains information of a specific column."
}
object summary.ColumnEstimatedResponse
{
  "type": "object",
  "title": "ColumnEstimatedResponse",
  "properties": {
    "total": {
      "type": "integer"
    },
    "active": {
      "type": "integer"
    },
    "archived": {
      "type": "integer"
    },
    "completed": {
      "type": "integer"
    }
  },
  "description": "ColumnEstimatedResponse contains estimated counters about the\ncolumns's state."
}
object summary.ColumnResponse
{
  "type": "object",
  "title": "ColumnResponse",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/summary.ColumnDataResponse"
      }
    },
    "count": {
      "type": "integer"
    }
  },
  "description": "ColumnResponse contains counters for columns."
}
object summary.EventResponse
{
  "type": "object",
  "title": "EventResponse",
  "properties": {
    "today": {
      "type": "integer"
    },
    "upcoming": {
      "type": "integer"
    }
  },
  "description": "EventResponse contains counters for events."
}
object summary.HealthResponse
{
  "type": "object",
  "title": "HealthResponse",
  "properties": {
    "0": {
      "type": "integer"
    },
    "1": {
      "type": "integer"
    },
    "2": {
      "type": "integer"
    },
    "3": {
      "type": "integer"
    }
  },
  "description": "HealthResponse contains counters for health."
}
object summary.MilestoneCountsResponse
{
  "type": "object",
  "title": "MilestoneCountsResponse",
  "properties": {
    "late": {
      "type": "integer"
    },
    "today": {
      "type": "integer"
    },
    "active": {
      "type": "integer"
    },
    "complete": {
      "type": "integer"
    },
    "upcoming": {
      "type": "integer"
    }
  },
  "description": "MilestoneCountsResponse contains counters for milestones."
}
object summary.MilestoneResponse
{
  "type": "object",
  "title": "MilestoneResponse",
  "properties": {
    "mine": {
      "$ref": "#/components/schemas/summary.MilestoneCountsResponse"
    },
    "everyone": {
      "$ref": "#/components/schemas/summary.MilestoneCountsResponse"
    }
  },
  "description": "MilestoneResponse contains groups of counter for milestones."
}
object summary.ProjectResponse
{
  "type": "object",
  "title": "ProjectResponse",
  "properties": {
    "time": {
      "$ref": "#/components/schemas/summary.TimeResponse"
    },
    "risks": {
      "$ref": "#/components/schemas/summary.RiskResponse"
    },
    "since": {
      "$ref": "#/components/schemas/summary.SinceResponse"
    },
    "tasks": {
      "$ref": "#/components/schemas/summary.ProjectTasksResponse"
    },
    "events": {
      "$ref": "#/components/schemas/summary.EventResponse"
    },
    "health": {
      "$ref": "#/components/schemas/summary.HealthResponse"
    },
    "unread": {
      "$ref": "#/components/schemas/summary.UnreadResponse"
    },
    "columns": {
      "$ref": "#/components/schemas/summary.ColumnResponse"
    },
    "milestones": {
      "$ref": "#/components/schemas/summary.MilestoneResponse"
    }
  },
  "description": "ProjectResponse contains all the information returned when sending\na GET request to the summary endpoint (project)."
}
object summary.ProjectTasksResponse
{
  "type": "object",
  "title": "ProjectTasksResponse",
  "properties": {
    "mine": {
      "$ref": "#/components/schemas/summary.TaskResponse"
    },
    "user": {
      "$ref": "#/components/schemas/summary.TaskResponse"
    },
    "everyone": {
      "$ref": "#/components/schemas/summary.TaskResponse"
    }
  },
  "description": "ProjectTasksResponse contains groups of counters tasks."
}
object summary.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "time": {
      "$ref": "#/components/schemas/summary.TimeCounterResponse"
    },
    "risks": {
      "$ref": "#/components/schemas/summary.RiskResponse"
    },
    "since": {
      "$ref": "#/components/schemas/summary.SinceResponse"
    },
    "tasks": {
      "$ref": "#/components/schemas/summary.TaskResponse"
    },
    "events": {
      "$ref": "#/components/schemas/summary.EventResponse"
    },
    "health": {
      "$ref": "#/components/schemas/summary.HealthResponse"
    },
    "unread": {
      "$ref": "#/components/schemas/summary.UnreadResponse"
    },
    "columns": {
      "$ref": "#/components/schemas/summary.ColumnResponse"
    },
    "milestones": {
      "$ref": "#/components/schemas/summary.MilestoneCountsResponse"
    }
  },
  "description": "Response contains all the information returned when sending a GET\nrequest to the summary endpoint (dashboard)."
}
object summary.RiskResponse
{
  "type": "object",
  "title": "RiskResponse",
  "properties": {
    "open": {
      "type": "integer"
    },
    "total": {
      "type": "integer"
    },
    "closed": {
      "type": "integer"
    },
    "pending": {
      "type": "integer"
    }
  },
  "description": "RiskResponse contains counters for risks."
}
object summary.SinceResponse
{
  "type": "object",
  "title": "SinceResponse",
  "properties": {
    "events": {
      "type": "integer"
    },
    "dateTime": {
      "type": "string"
    },
    "tasksCreated": {
      "type": "integer"
    },
    "tasksComplete": {
      "type": "integer"
    }
  },
  "description": "SinceResponse contains counters for since."
}
object summary.TaskResponse
{
  "type": "object",
  "title": "TaskResponse",
  "properties": {
    "late": {
      "type": "integer"
    },
    "today": {
      "type": "integer"
    },
    "active": {
      "type": "integer"
    },
    "nodate": {
      "type": "integer"
    },
    "started": {
      "type": "integer"
    },
    "complete": {
      "type": "integer"
    },
    "upcoming": {
      "type": "integer"
    }
  },
  "description": "TaskResponse contains counters for tasks."
}
object summary.TimeCounterEstimateResponse
{
  "type": "object",
  "title": "TimeCounterEstimateResponse",
  "properties": {
    "totalMinsEstimated": {
      "type": "integer"
    },
    "activeMinsEstimated": {
      "type": "integer"
    },
    "completedMinsEstimated": {
      "type": "integer"
    },
    "totalWithTimeLoggedEstimatedMins": {
      "type": "integer"
    }
  },
  "description": "TimeCounterEstimateResponse contains estimate counters for times."
}
object summary.TimeCounterResponse
{
  "type": "object",
  "title": "TimeCounterResponse",
  "properties": {
    "totals": {
      "$ref": "#/components/schemas/summary.TimeCounterTotalResponse"
    },
    "estimates": {
      "$ref": "#/components/schemas/summary.TimeCounterEstimateResponse"
    }
  },
  "description": "TimeCounterResponse contains counters for times."
}
object summary.TimeCounterTotalResponse
{
  "type": "object",
  "title": "TimeCounterTotalResponse",
  "properties": {
    "totalMinsSum": {
      "type": "integer"
    },
    "billedMinsSum": {
      "type": "integer"
    },
    "billableMinsSum": {
      "type": "integer"
    },
    "nonBilledMinsSum": {
      "type": "integer"
    },
    "nonBillableMinsSum": {
      "type": "integer"
    }
  },
  "description": "TimeCounterTotalResponse contains total counters for times."
}
object summary.TimeResponse
{
  "type": "object",
  "title": "TimeResponse",
  "properties": {
    "all": {
      "$ref": "#/components/schemas/summary.TimeCounterResponse"
    },
    "mine": {
      "$ref": "#/components/schemas/summary.TimeCounterResponse"
    }
  },
  "description": "TimeResponse contains counters for times' groups."
}
object summary.UnreadResponse
{
  "type": "object",
  "title": "UnreadResponse",
  "properties": {
    "comments": {
      "type": "integer"
    },
    "messages": {
      "type": "integer"
    }
  },
  "description": "UnreadResponse contains counters for unread objects."
}
object tag.BulkDeleteRequest
{
  "type": "object",
  "title": "BulkDeleteRequest",
  "properties": {
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "tagNames": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "BulkDeleteRequest contains the ids of the tags that should be removed."
}
object tag.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "tag": {
      "$ref": "#/components/schemas/tag.Tag"
    }
  },
  "description": "Request contains information of a tag to be created or updated."
}
object tag.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "tag": {
      "$ref": "#/components/schemas/view.Tag"
    }
  },
  "description": "Response contains information about a specific tag."
}
object tag.Tag
{
  "type": "object",
  "title": "Tag",
  "properties": {
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "projectId": {
      "type": "integer"
    }
  },
  "description": "Tag contains all the information returned from a tag."
}
object tag.TagsResponse
{
  "type": "object",
  "title": "TagsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Tag"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "cards": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskCard"
          }
        },
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "columns": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.BoardColumn"
          }
        }
      }
    }
  },
  "description": "TagsResponse contains information about a group of tags."
}
object task.Card
{
  "type": "object",
  "title": "Card",
  "properties": {
    "columnId": {
      "type": "integer"
    }
  },
  "description": "Card stores information about the card created with the task."
}
object task.CustomFields
{
  "type": "object",
  "title": "CustomFields",
  "properties": {
    "Values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/value.CustomFieldValue"
      }
    }
  },
  "description": "CustomFields is the custom fields type."
}
object task.File
{
  "type": "object",
  "title": "File",
  "properties": {
    "id": {
      "type": "integer"
    },
    "categoryId": {
      "type": "integer"
    }
  },
  "description": "File stores information about a uploaded file."
}
object task.Included
{
  "type": "object",
  "title": "Included",
  "properties": {
    "tags": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Tag"
      }
    },
    "cards": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.TaskCard"
      }
    },
    "files": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectFileV205"
      }
    },
    "tasks": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.TaskV205"
      }
    },
    "teams": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Team"
      }
    },
    "users": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.User"
      }
    },
    "proofs": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Proof"
      }
    },
    "stages": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Stage"
      }
    },
    "timers": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Timer"
      }
    },
    "columns": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.BoardColumn"
      }
    },
    "comments": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Comment"
      }
    },
    "projects": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectV205"
      }
    },
    "companies": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Company"
      }
    },
    "lockdowns": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Lockdown"
      }
    },
    "tasklists": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Tasklist"
      }
    },
    "workflows": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Workflow"
      }
    },
    "milestones": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Milestone"
      }
    },
    "taskgroups": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Taskgroup"
      }
    },
    "timeTotals": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.TaskTimeTotals"
      }
    },
    "customfields": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.CustomField"
      }
    },
    "subtaskStats": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.TaskStats"
      }
    },
    "taskSequences": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.TaskSequence"
      }
    },
    "customfieldTasks": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.CustomFieldValueTask"
      }
    },
    "projectCategories": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectCategory"
      }
    },
    "projectPermissions": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectPermissions"
      }
    }
  },
  "description": "Included is the task sideloads"
}
object task.Options
{
  "type": "object",
  "title": "Options",
  "properties": {
    "notify": {
      "type": "boolean"
    },
    "isTemplate": {
      "type": "boolean"
    },
    "fireWebhook": {
      "type": "boolean"
    },
    "logActivity": {
      "type": "boolean"
    },
    "useDefaults": {
      "type": "boolean"
    },
    "pushSubtasks": {
      "type": "boolean"
    },
    "everyoneMustDo": {
      "type": "boolean"
    },
    "pushDependents": {
      "type": "boolean"
    },
    "appendAssignees": {
      "type": "boolean"
    },
    "parseInlineTags": {
      "type": "boolean"
    },
    "useNotifyViaTWIM": {
      "type": "boolean"
    },
    "checkInvalidusers": {
      "type": "boolean"
    },
    "shiftProjectDates": {
      "type": "boolean"
    },
    "positionAfterTaskId": {
      "type": "integer"
    }
  },
  "description": "Options contains any options which can be set\nfor the task request"
}
object task.PendingFile
{
  "type": "object",
  "title": "PendingFile",
  "properties": {
    "reference": {
      "type": "string"
    },
    "categoryId": {
      "type": "integer"
    }
  },
  "description": "PendingFile stores information about a file uploaded on-the-fly."
}
object task.Predecessor
{
  "type": "object",
  "title": "Predecessor",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "description": "Predecessor stores information about task predecessors."
}
object task.Reminder
{
  "type": "object",
  "title": "Reminder",
  "properties": {
    "note": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "userId": {
      "type": "integer"
    },
    "remindAt": {
      "type": "string"
    },
    "isRelative": {
      "type": "boolean"
    },
    "relativeNumberDays": {
      "type": "integer"
    }
  },
  "description": "Reminder stores all necessary information to create a task reminder."
}
object task.RepeatOptions
{
  "type": "object",
  "title": "RepeatOptions",
  "properties": {
    "rrule": {
      "type": "string",
      "title": "RRule",
      "description": "Adds the RRule definition for repeating tasks. It replaces all other repeating fields."
    },
    "endsAt": {
      "$ref": "#/components/schemas/payload.NullableDate"
    },
    "duration": {
      "type": "integer"
    },
    "frequency": {
      "$ref": "#/components/schemas/payload.NullableTaskRepeatFrequency"
    },
    "editOption": {
      "type": "string"
    },
    "selectedDays": {
      "$ref": "#/components/schemas/payload.NullableWorkingHourEntryWeekdays"
    },
    "monthlyRepeatType": {
      "$ref": "#/components/schemas/payload.NullableTaskRepeatMonthlyType"
    }
  },
  "description": "RepeatOptions stores recurring information for the task."
}
object task.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "card": {
      "$ref": "#/components/schemas/task.Card"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tag.Tag"
      }
    },
    "task": {
      "$ref": "#/components/schemas/task.Task"
    },
    "workflows": {
      "$ref": "#/components/schemas/task.Workflows"
    },
    "attachments": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/task.File"
          }
        },
        "pendingFiles": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/task.PendingFile"
          }
        }
      }
    },
    "taskOptions": {
      "$ref": "#/components/schemas/task.Options"
    },
    "predecessors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/task.Predecessor"
      }
    },
    "attachmentOptions": {
      "type": "object",
      "properties": {
        "removeOtherFiles": {
          "type": "boolean"
        }
      }
    }
  },
  "description": "Request contains information of a task to be created or updated."
}
object task.Task
{
  "type": "object",
  "title": "Task",
  "properties": {
    "name": {
      "type": "string"
    },
    "dueAt": {
      "$ref": "#/components/schemas/payload.NullableDate"
    },
    "status": {
      "type": "string"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "private": {
      "type": "boolean"
    },
    "startAt": {
      "$ref": "#/components/schemas/payload.NullableDate"
    },
    "priority": {
      "$ref": "#/components/schemas/payload.NullableTaskPriority"
    },
    "progress": {
      "type": "integer"
    },
    "ticketId": {
      "type": "integer"
    },
    "assignees": {
      "$ref": "#/components/schemas/payload.UserGroups"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "reminders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/task.Reminder"
      }
    },
    "crmDealIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "tasklistId": {
      "type": "integer"
    },
    "completedAt": {
      "type": "string"
    },
    "completedBy": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "taskgroupId": {
      "type": "integer"
    },
    "customFields": {
      "$ref": "#/components/schemas/task.CustomFields"
    },
    "parentTaskId": {
      "type": "integer"
    },
    "attachmentIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "grantAccessTo": {
      "$ref": "#/components/schemas/payload.UserGroups"
    },
    "repeatOptions": {
      "$ref": "#/components/schemas/task.RepeatOptions"
    },
    "hasDeskTickets": {
      "type": "boolean"
    },
    "changeFollowers": {
      "$ref": "#/components/schemas/payload.UserGroups"
    },
    "originalDueDate": {
      "$ref": "#/components/schemas/payload.NullableDate"
    },
    "commentFollowers": {
      "$ref": "#/components/schemas/payload.UserGroups"
    },
    "estimatedMinutes": {
      "type": "integer"
    },
    "templateRoleName": {
      "type": "string"
    },
    "descriptionContentType": {
      "type": "string"
    }
  },
  "description": "Task contains all the information returned from a task."
}
object task.Workflows
{
  "type": "object",
  "title": "Workflows",
  "properties": {
    "stageId": {
      "type": "integer"
    },
    "workflowId": {
      "type": "integer"
    },
    "positionAfterTask": {
      "type": "integer"
    }
  },
  "description": "Workflows stores information about where the task lives in the workflow"
}
object task.responseV205
{
  "type": "object",
  "title": "responseV205",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "task": {
      "$ref": "#/components/schemas/view.TaskV205"
    },
    "affected": {
      "$ref": "#/components/schemas/view.TaskAffectedV205"
    },
    "included": {
      "$ref": "#/components/schemas/task.Included"
    }
  }
}
object task.tasksResponseV205
{
  "type": "object",
  "title": "tasksResponseV205",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.TaskV205"
      }
    },
    "included": {
      "$ref": "#/components/schemas/task.Included"
    }
  }
}
object tasklist.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "included": {
      "type": "object",
      "properties": {
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.IncludedTask"
          }
        },
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "columns": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.BoardColumn"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.IncludedProject"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "lockdowns": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Lockdown"
          }
        },
        "workflows": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Workflow"
          }
        },
        "milestones": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Milestone"
          }
        },
        "customfields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomField"
          }
        },
        "notifications": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TasklistBudgetNotification"
          }
        },
        "workflowStages": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Stage"
          }
        },
        "tasklistBudgets": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TasklistBudget"
          }
        },
        "customfieldTasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomFieldValueTask"
          }
        },
        "tasklistTaskStats": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskStats"
          }
        },
        "defaultTaskReminders": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskReminder"
          }
        }
      }
    },
    "tasklist": {
      "$ref": "#/components/schemas/view.Tasklist"
    }
  },
  "description": "Response contains information about a specific tasklist."
}
object tasklist.TasklistsResponse
{
  "type": "object",
  "title": "TasklistsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.IncludedTask"
          }
        },
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "columns": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.BoardColumn"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.IncludedProject"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "lockdowns": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Lockdown"
          }
        },
        "workflows": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Workflow"
          }
        },
        "milestones": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Milestone"
          }
        },
        "customfields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomField"
          }
        },
        "notifications": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TasklistBudgetNotification"
          }
        },
        "workflowStages": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Stage"
          }
        },
        "tasklistBudgets": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TasklistBudget"
          }
        },
        "customfieldTasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.CustomFieldValueTask"
          }
        },
        "tasklistTaskStats": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskStats"
          }
        },
        "defaultTaskReminders": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskReminder"
          }
        }
      }
    },
    "tasklists": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Tasklist"
      }
    }
  },
  "description": "TasklistsResponse contains information about a group of tasklists."
}
object tasklistbudget.Budget
{
  "type": "object",
  "title": "Budget",
  "properties": {
    "id": {
      "type": "integer"
    },
    "capacity": {
      "type": "integer"
    },
    "tasklist": {
      "$ref": "#/components/schemas/tasklistbudget.tasklist"
    },
    "notifications": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tasklistbudget.notification"
      }
    }
  },
  "description": "Budget contains all the information returned from a budget."
}
object tasklistbudget.BudgetResponse
{
  "type": "object",
  "title": "BudgetResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "tasklistBudget": {
      "$ref": "#/components/schemas/view.TasklistBudget"
    }
  },
  "description": "BudgetResponse contains information about a group of budgets."
}
object tasklistbudget.BudgetsResponse
{
  "type": "object",
  "title": "BudgetsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "teams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Team"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        },
        "notifications": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TasklistBudgetNotification"
          }
        },
        "projectBudgets": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectBudget"
          }
        }
      }
    },
    "tasklistBudgets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.TasklistBudget"
      }
    }
  },
  "description": "BudgetsResponse contains information about a group of budgets."
}
object tasklistbudget.BulkAddBudgetRequest
{
  "type": "object",
  "title": "BulkAddBudgetRequest",
  "properties": {
    "tasklistBudgets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tasklistbudget.Budget"
      }
    },
    "tasklistBudgetsOptions": {
      "$ref": "#/components/schemas/tasklistbudget.RequestOptions"
    }
  },
  "description": "BulkAddBudgetRequest structure hold information needed to add\nor update task list budgets along with request options"
}
object tasklistbudget.PatchBudgetRequest
{
  "type": "object",
  "title": "PatchBudgetRequest",
  "properties": {
    "tasklistBudget": {
      "$ref": "#/components/schemas/tasklistbudget.Budget"
    },
    "tasklistBudgetOptions": {
      "$ref": "#/components/schemas/tasklistbudget.RequestOptions"
    }
  },
  "description": "PatchBudgetRequest Structure for the edit budget PATCH request"
}
object tasklistbudget.RequestOptions
{
  "type": "object",
  "title": "RequestOptions",
  "properties": {
    "fireWebhook": {
      "type": "boolean"
    },
    "logActivity": {
      "type": "boolean"
    },
    "useNotifyViaTWIM": {
      "type": "boolean"
    }
  },
  "description": "RequestOptions has options for events related to requests"
}
object tasklistbudget.company
{
  "type": "object",
  "title": "company",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  }
}
object tasklistbudget.notification
{
  "type": "object",
  "title": "notification",
  "properties": {
    "id": {
      "type": "integer"
    },
    "teams": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tasklistbudget.team"
      }
    },
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tasklistbudget.user"
      }
    },
    "companies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tasklistbudget.company"
      }
    },
    "capacityThreshold": {
      "type": "number"
    },
    "notificationMedium": {
      "type": "string"
    }
  }
}
object tasklistbudget.tasklist
{
  "type": "object",
  "title": "tasklist",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  }
}
object tasklistbudget.team
{
  "type": "object",
  "title": "team",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  }
}
object tasklistbudget.user
{
  "type": "object",
  "title": "user",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  }
}
object timelog.CompanyTimelogsResponse
{
  "type": "object",
  "title": "CompanyTimelogsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        },
        "userRates": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.EffectiveUserRate"
          }
        }
      }
    },
    "timelogs": {
      "type": "object"
    }
  },
  "description": "CompanyTimelogsResponse contains information about a group of timelogs, grouped by company ID."
}
object timelog.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tag.Tag"
      }
    },
    "timelog": {
      "$ref": "#/components/schemas/timelog.Timelog"
    },
    "timelogOptions": {
      "type": "object",
      "properties": {
        "fireWebhook": {
          "type": "boolean"
        },
        "logActivity": {
          "type": "boolean"
        },
        "parseInlineTags": {
          "type": "boolean"
        },
        "markTaskComplete": {
          "type": "boolean"
        },
        "useNotifyViaTWIM": {
          "type": "boolean"
        }
      }
    }
  },
  "description": "Request contains information of a timelog to be created or updated."
}
object timelog.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "timelog": {
      "$ref": "#/components/schemas/view.Timelog"
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        },
        "userRates": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.EffectiveUserRate"
          }
        }
      }
    }
  },
  "description": "Response contains information about a specific timelog."
}
object timelog.Timelog
{
  "type": "object",
  "title": "Timelog",
  "properties": {
    "date": {
      "$ref": "#/components/schemas/payload.Date"
    },
    "time": {
      "$ref": "#/components/schemas/payload.Time"
    },
    "hours": {
      "type": "integer"
    },
    "isUtc": {
      "type": "boolean"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "taskId": {
      "type": "integer"
    },
    "userId": {
      "type": "integer"
    },
    "minutes": {
      "type": "integer"
    },
    "ticketId": {
      "type": "integer"
    },
    "invoiceId": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "isBillable": {
      "type": "boolean"
    },
    "description": {
      "type": "string"
    },
    "hasStartTime": {
      "type": "boolean"
    }
  },
  "description": "Timelog contains all the information returned from a timelog."
}
object timelog.TimelogsResponse
{
  "type": "object",
  "title": "TimelogsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tag"
          }
        },
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        },
        "userRates": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.EffectiveUserRate"
          }
        }
      }
    },
    "timelogs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Timelog"
      }
    }
  },
  "description": "TimelogsResponse contains information about a group of timelogs."
}
object timelog.TotalsResponse
{
  "type": "object",
  "title": "TotalsResponse",
  "properties": {
    "subTasks": {
      "$ref": "#/components/schemas/view.TimelogTotalsSubtasks"
    },
    "time-totals": {
      "$ref": "#/components/schemas/view.TimelogTotals"
    }
  },
  "description": "TotalsResponse contains information about timelog totals."
}
object timer.DeleteRequest
{
  "type": "object",
  "title": "DeleteRequest",
  "properties": {
    "hardDelete": {
      "type": "boolean"
    }
  },
  "description": "DeleteRequest contains the whether or not a timer should be hard deleted\nor soft deleted. Hard delete will remove the timer row from the DB and\nremove its timer intervals. Soft delete will just mark it as deleted."
}
object timer.Request
{
  "type": "object",
  "title": "Request",
  "properties": {
    "timer": {
      "$ref": "#/components/schemas/timer.Timer"
    }
  },
  "description": "Request contains information of a timer to be created or updated."
}
object timer.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "timer": {
      "$ref": "#/components/schemas/view.Timer"
    },
    "included": {
      "type": "object",
      "properties": {
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        }
      }
    }
  },
  "description": "Response contains the information returned when sending a PUT/POST\nrequest to the timers endpoint, or GET request for a single item by ID"
}
object timer.Timer
{
  "type": "object",
  "title": "Timer",
  "properties": {
    "taskId": {
      "type": "integer"
    },
    "seconds": {
      "type": "integer",
      "description": "only valid for POST requests"
    },
    "isRunning": {
      "type": "boolean"
    },
    "projectId": {
      "type": "integer"
    },
    "isBillable": {
      "type": "boolean"
    },
    "description": {
      "type": "string"
    },
    "stopRunningTimers": {
      "type": "boolean"
    }
  },
  "description": "Timer contains all the information returned from a timer."
}
object timer.TimersResponse
{
  "type": "object",
  "title": "TimersResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "timers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Timer"
      }
    },
    "included": {
      "type": "object",
      "properties": {
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        }
      }
    }
  },
  "description": "TimersResponse contains all the information returned when sending a GET\nrequest to the timers endpoint."
}
object timesheet.MyTimesheetsResponse
{
  "type": "object",
  "title": "MyTimesheetsResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "tasks": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskV205"
          }
        },
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        },
        "companies": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Company"
          }
        },
        "tasklists": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.Tasklist"
          }
        },
        "eventTypes": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.LegacyCalendarEventType"
          }
        },
        "subtaskStats": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TaskStats"
          }
        },
        "workingHours": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.WorkingHour"
          }
        },
        "unavailableTimes": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.LegacyUnavailableTime"
          }
        },
        "projectPermissions": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectPermissions"
          }
        },
        "workingHourEntries": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.WorkingHourEntry"
          }
        },
        "timesheetCustomRows": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.TimesheetCustomRow"
          }
        }
      }
    },
    "timesheets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.MyTimesheet"
      }
    },
    "unavailableTimes": {
      "$ref": "#/components/schemas/view.UnavailableTimes"
    }
  },
  "description": "MyTimesheetsResponse contains timesheets list, includes and metadata."
}
object timesheet.MyTimesheetsTotals
{
  "type": "object",
  "title": "MyTimesheetsTotals",
  "properties": {
    "total": {
      "type": "integer"
    },
    "dailyTotals": {
      "type": "object"
    }
  },
  "description": "MyTimesheetsTotals contains the daily totals and total minutes"
}
object timesheet.MyTimesheetsTotalsResponse
{
  "type": "object",
  "title": "MyTimesheetsTotalsResponse",
  "properties": {
    "myTimesheetsTotals": {
      "$ref": "#/components/schemas/timesheet.MyTimesheetsTotals"
    }
  },
  "description": "MyTimesheetsTotalsResponse contains timesheets list, includes and metadata."
}
object unbilled.ProjectMetricUnbilledResponse
{
  "type": "object",
  "title": "ProjectMetricUnbilledResponse",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        }
      }
    }
  },
  "description": "ProjectMetricUnbilledResponse contains information about a group of unbilled\ninvoices."
}
object update.ProjectUpdatesResponse
{
  "type": "object",
  "title": "ProjectUpdatesResponse",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        },
        "projects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.ProjectV205"
          }
        }
      }
    },
    "projectUpdates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.ProjectUpdate"
      }
    }
  },
  "description": "ProjectUpdatesResponse contains information about a group of updates."
}
object utilization.Response
{
  "type": "object",
  "title": "Response",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "type": "object",
      "properties": {
        "users": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/view.User"
          }
        }
      }
    },
    "utilization": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.UserUtilization"
      }
    }
  },
  "description": "Response contains information about a specific availability."
}
object value.CustomFieldValue
{
  "type": "object",
  "title": "CustomFieldValue",
  "properties": {
    "value": {},
    "countryCode": {
      "type": "string"
    },
    "customfieldId": {
      "type": "integer"
    },
    "currencySymbol": {
      "type": "string"
    },
    "urlTextToDisplay": {
      "type": "string"
    }
  },
  "description": "CustomFieldValue contains all the information returned from a customfield."
}
object value.EditCustomFieldValue
{
  "type": "object",
  "title": "EditCustomFieldValue",
  "properties": {
    "id": {
      "type": "integer"
    },
    "value": {},
    "countryCode": {
      "type": "string"
    },
    "customfieldId": {
      "type": "integer"
    },
    "currencySymbol": {
      "type": "string"
    },
    "urlTextToDisplay": {
      "type": "string"
    }
  },
  "description": "EditCustomFieldValue contains all the information to update a project\ncustom field value."
}
object value.ResponseIncluded
{
  "type": "object",
  "title": "ResponseIncluded",
  "properties": {
    "tasks": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.TaskV205"
      }
    },
    "projects": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.ProjectV205"
      }
    },
    "companies": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.Company"
      }
    },
    "customfields": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.CustomField"
      }
    }
  },
  "description": "ResponseIncluded is included in the response."
}
object value.bulkDeleteRequestCompany
{
  "type": "object",
  "title": "bulkDeleteRequestCompany",
  "properties": {
    "customfieldCompanyIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  }
}
object value.bulkDeleteRequestProject
{
  "type": "object",
  "title": "bulkDeleteRequestProject",
  "properties": {
    "customfieldProjectIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  }
}
object value.bulkDeleteRequestTask
{
  "type": "object",
  "title": "bulkDeleteRequestTask",
  "properties": {
    "customfieldTaskIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  }
}
object value.bulkUpdateRequestCompany
{
  "type": "object",
  "title": "bulkUpdateRequestCompany",
  "properties": {
    "customfieldCompanies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/value.EditCustomFieldValue"
      }
    }
  }
}
object value.bulkUpdateRequestProject
{
  "type": "object",
  "title": "bulkUpdateRequestProject",
  "properties": {
    "customfieldProjects": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/value.EditCustomFieldValue"
      }
    }
  }
}
object value.bulkUpdateRequestTask
{
  "type": "object",
  "title": "bulkUpdateRequestTask",
  "properties": {
    "customfieldTasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/value.EditCustomFieldValue"
      }
    }
  }
}
object value.requestCompany
{
  "type": "object",
  "title": "requestCompany",
  "properties": {
    "customfieldCompany": {
      "$ref": "#/components/schemas/value.CustomFieldValue"
    }
  }
}
object value.requestProject
{
  "type": "object",
  "title": "requestProject",
  "properties": {
    "customfieldProject": {
      "$ref": "#/components/schemas/value.CustomFieldValue"
    }
  }
}
object value.requestTask
{
  "type": "object",
  "title": "requestTask",
  "properties": {
    "customfieldTask": {
      "$ref": "#/components/schemas/value.CustomFieldValue"
    }
  }
}
object value.responseCompany
{
  "type": "object",
  "title": "responseCompany",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "$ref": "#/components/schemas/value.ResponseIncluded"
    },
    "customfieldCompany": {
      "$ref": "#/components/schemas/view.CustomFieldValueCompany"
    }
  }
}
object value.responseProject
{
  "type": "object",
  "title": "responseProject",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "$ref": "#/components/schemas/value.ResponseIncluded"
    },
    "customfieldProject": {
      "$ref": "#/components/schemas/view.CustomFieldValueProject"
    }
  }
}
object value.responseTask
{
  "type": "object",
  "title": "responseTask",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "$ref": "#/components/schemas/value.ResponseIncluded"
    },
    "customfieldTask": {
      "$ref": "#/components/schemas/view.CustomFieldValueTask"
    }
  }
}
object value.valuesResponseCompany
{
  "type": "object",
  "title": "valuesResponseCompany",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "$ref": "#/components/schemas/value.ResponseIncluded"
    },
    "customfieldCompanies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.CustomFieldValueCompany"
      }
    }
  }
}
object value.valuesResponseProject
{
  "type": "object",
  "title": "valuesResponseProject",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "$ref": "#/components/schemas/value.ResponseIncluded"
    },
    "customfieldProjects": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.CustomFieldValueProject"
      }
    }
  }
}
object value.valuesResponseTask
{
  "type": "object",
  "title": "valuesResponseTask",
  "properties": {
    "meta": {
      "$ref": "#/components/schemas/view.Meta"
    },
    "included": {
      "$ref": "#/components/schemas/value.ResponseIncluded"
    },
    "customfieldTasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.CustomFieldValueTask"
      }
    }
  }
}
object view.ActivityLog
{
  "type": "object",
  "title": "ActivityLog",
  "properties": {
    "id": {
      "type": "integer"
    },
    "link": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "datetime": {
      "type": "string"
    },
    "itemLink": {
      "type": "string"
    },
    "itemType": {
      "type": "string"
    },
    "latestType": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "extraDescription": {
      "type": "string"
    }
  },
  "description": "ActivityLog contains all the information returned from a activityLog."
}
object view.Assignee
{
  "type": "object",
  "title": "Assignee",
  "properties": {
    "id": {
      "type": "integer"
    },
    "role": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "decision": {
      "type": "string"
    },
    "isExternal": {
      "type": "boolean"
    }
  },
  "description": "Assignee contains assignee information."
}
object view.Audit
{
  "type": "object",
  "title": "Audit",
  "properties": {
    "after": {},
    "field": {
      "type": "string"
    },
    "before": {}
  },
  "description": "Audit represents the changes of a field."
}
object view.Banner
{
  "type": "object",
  "title": "Banner",
  "properties": {
    "x": {
      "type": "number"
    },
    "y": {
      "type": "number"
    },
    "url": {
      "type": "string"
    },
    "accentColor": {
      "type": "string"
    },
    "primaryColor": {
      "type": "string"
    }
  },
  "description": "Banner contains all the information returned from a form banner."
}
object view.BoardColumn
{
  "type": "object",
  "title": "BoardColumn",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "sort": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "stats": {
      "$ref": "#/components/schemas/view.ColumnStats"
    },
    "deleted": {
      "type": "boolean"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "settings": {
      "$ref": "#/components/schemas/view.BoardColumnSettings"
    },
    "createdAt": {
      "type": "string"
    },
    "deletedAt": {
      "type": "string"
    },
    "sortOrder": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "hasTriggers": {
      "type": "boolean"
    },
    "displayOrder": {
      "type": "integer"
    },
    "defaultTasklist": {
      "$ref": "#/components/schemas/view.Relationship"
    }
  },
  "description": "BoardColumn contains all the information returned from a column."
}
object view.BoardColumnSettings
{
  "type": "object",
  "title": "BoardColumnSettings",
  "properties": {
    "name": {
      "type": "boolean"
    },
    "tags": {
      "type": "boolean"
    },
    "time": {
      "type": "boolean"
    },
    "endAt": {
      "type": "boolean"
    },
    "files": {
      "type": "boolean"
    },
    "avatar": {
      "type": "boolean"
    },
    "private": {
      "type": "boolean"
    },
    "startAt": {
      "type": "boolean"
    },
    "tickets": {
      "type": "boolean"
    },
    "assignee": {
      "type": "boolean"
    },
    "comments": {
      "type": "boolean"
    },
    "priority": {
      "type": "boolean"
    },
    "progress": {
      "type": "boolean"
    },
    "tasklist": {
      "type": "boolean"
    },
    "followers": {
      "type": "boolean"
    },
    "recurring": {
      "type": "boolean"
    },
    "reminders": {
      "type": "boolean"
    },
    "subtasktext": {
      "type": "boolean"
    },
    "dependencies": {
      "type": "boolean"
    },
    "subtasklabel": {
      "type": "boolean"
    },
    "estimatedtime": {
      "type": "boolean"
    }
  },
  "description": "BoardColumnSettings contains all the settings for a column."
}
object view.CategoryTotals
{
  "type": "object",
  "title": "CategoryTotals",
  "properties": {
    "categorizedItems": {
      "type": "integer"
    },
    "uncategorizedItems": {
      "type": "integer"
    }
  },
  "description": "CategoryTotals contains all the category totals."
}
object view.ColumnStats
{
  "type": "object",
  "title": "ColumnStats",
  "properties": {
    "total": {
      "type": "integer"
    },
    "active": {
      "type": "integer"
    },
    "completed": {
      "type": "integer"
    },
    "estimatedTime": {
      "type": "integer"
    }
  },
  "description": "ColumnStats contains stats about a column"
}
object view.Comment
{
  "type": "object",
  "title": "Comment",
  "properties": {
    "id": {
      "type": "integer"
    },
    "title": {
      "type": "string"
    },
    "object": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "objectId": {
      "type": "integer"
    },
    "objectType": {
      "type": "string"
    }
  },
  "description": "Comment contains all the information returned from a comment."
}
object view.Company
{
  "type": "object",
  "title": "Company",
  "properties": {
    "id": {
      "type": "integer"
    },
    "cid": {
      "type": "string"
    },
    "fax": {
      "type": "string"
    },
    "zip": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "phone": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "stats": {
      "$ref": "#/components/schemas/view.CompanyStats"
    },
    "status": {
      "type": "string"
    },
    "clients": {
      "type": "integer"
    },
    "isOwner": {
      "type": "boolean"
    },
    "logoUrl": {
      "type": "string"
    },
    "website": {
      "type": "string"
    },
    "accounts": {
      "type": "integer"
    },
    "contacts": {
      "type": "integer"
    },
    "emailOne": {
      "type": "string"
    },
    "emailTwo": {
      "type": "string"
    },
    "industry": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "addressOne": {
      "type": "string"
    },
    "addressTwo": {
      "type": "string"
    },
    "emailThree": {
      "type": "string"
    },
    "industryId": {
      "type": "integer"
    },
    "countryCode": {
      "type": "string"
    },
    "profileText": {
      "type": "string"
    },
    "privateNotes": {
      "type": "string"
    },
    "canSeePrivate": {
      "type": "boolean"
    },
    "collaborators": {
      "type": "integer"
    },
    "companyUpdate": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "profitability": {
      "$ref": "#/components/schemas/view.ProfitDetails"
    },
    "companyNameUrl": {
      "type": "string"
    },
    "clientManagedBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "privateNotesText": {
      "type": "string"
    },
    "budgetDistribution": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/entity.ProjectBudgetRange"
      }
    }
  },
  "description": "Company contains all the information returned from a company."
}
object view.CompanyStats
{
  "type": "object",
  "title": "CompanyStats",
  "properties": {
    "taskCount": {
      "type": "integer"
    },
    "projectCount": {
      "type": "integer"
    },
    "unreadEmailCount": {
      "type": "integer"
    },
    "taskCompleteCount": {
      "type": "integer"
    }
  },
  "description": "CompanyStats tracks a companies project and task counts"
}
object view.CompanyUpdate
{
  "type": "object",
  "title": "CompanyUpdate",
  "properties": {
    "id": {
      "type": "integer"
    },
    "text": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "health": {
      "type": "integer"
    },
    "company": {
      "$ref": "#/components/schemas/view.Relationship"
    }
  },
  "description": "CompanyUpdate represents a company update"
}
object view.Content
{
  "type": "object",
  "title": "Content",
  "properties": {
    "logo": {
      "$ref": "#/components/schemas/view.Logo"
    },
    "name": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "banner": {
      "$ref": "#/components/schemas/view.Banner"
    },
    "version": {
      "type": "integer"
    },
    "definition": {
      "type": "string"
    },
    "description": {
      "type": "string"
    }
  },
  "description": "Content contains all the information returned from a form token."
}
object view.Country
{
  "type": "object",
  "title": "Country",
  "properties": {
    "eu": {
      "type": "boolean"
    },
    "code": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "vatName": {
      "type": "string"
    },
    "phoneCode": {
      "type": "string"
    },
    "vatPercent": {
      "type": "integer"
    }
  },
  "description": "Country represents all the information returned from a country."
}
object view.CustomField
{
  "type": "object",
  "title": "CustomField",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "entity": {
      "type": "string"
    },
    "deleted": {
      "type": "boolean"
    },
    "formula": {
      "type": "string"
    },
    "groupId": {
      "type": "integer"
    },
    "options": {},
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "required": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "isPrivate": {
      "type": "boolean"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "currencyCode": {
      "type": "string"
    },
    "visibilities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "createdByUserId": {
      "type": "integer"
    },
    "deletedByUserId": {
      "type": "integer"
    },
    "updatedByUserId": {
      "type": "integer"
    }
  },
  "description": "CustomField contains all the information returned from a custom field."
}
object view.CustomFieldValueCompany
{
  "type": "object",
  "title": "CustomFieldValueCompany",
  "properties": {
    "id": {
      "type": "integer"
    },
    "value": {},
    "company": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "companyId": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "countryCode": {
      "type": "string"
    },
    "customfield": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "customfieldId": {
      "type": "integer"
    },
    "currencySymbol": {
      "type": "string"
    },
    "urlTextToDisplay": {
      "type": "string"
    }
  },
  "description": "CustomFieldValueCompany is a company custom field value."
}
object view.CustomFieldValueProject
{
  "type": "object",
  "title": "CustomFieldValueProject",
  "properties": {
    "id": {
      "type": "integer"
    },
    "value": {},
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "countryCode": {
      "type": "string"
    },
    "customfield": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "customfieldId": {
      "type": "integer"
    },
    "currencySymbol": {
      "type": "string"
    },
    "urlTextToDisplay": {
      "type": "string"
    }
  },
  "description": "CustomFieldValueProject is a project custom field value."
}
object view.CustomFieldValueTask
{
  "type": "object",
  "title": "CustomFieldValueTask",
  "properties": {
    "id": {
      "type": "integer"
    },
    "task": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "value": {},
    "taskId": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "countryCode": {
      "type": "string"
    },
    "customfield": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "customfieldId": {
      "type": "integer"
    },
    "currencySymbol": {
      "type": "string"
    },
    "urlTextToDisplay": {
      "type": "string"
    }
  },
  "description": "CustomFieldValueTask is a task custom field value."
}
object view.Date
{
  "type": "object",
  "title": "Date",
  "description": "Date represents a Unified API Spec date format."
}
object view.EffectiveUserRate
{
  "type": "object",
  "title": "EffectiveUserRate",
  "properties": {
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "effectiveRate": {
      "type": "integer"
    }
  },
  "description": "EffectiveUserRate is the users effective rate"
}
object view.Error
{
  "type": "object",
  "title": "Error",
  "properties": {
    "id": {
      "type": "string",
      "description": "ID is a reference for this exact instance of the error."
    },
    "code": {
      "type": "string",
      "description": "Code is an application-specific error code."
    },
    "meta": {
      "type": "object",
      "description": "Meta contains tags that are useful to detect specific issues."
    },
    "title": {
      "type": "string",
      "description": "Title is a short, human-readable summary of the problem."
    },
    "detail": {
      "type": "string",
      "description": "Detail is a human-readable explanation specific to this occurrence of the\nproblem."
    }
  },
  "description": "Error describes an API error."
}
object view.ErrorResponse
{
  "type": "object",
  "title": "ErrorResponse",
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Error"
      }
    }
  },
  "description": "ErrorResponse defines how []Error should be marshaled to JSON."
}
object view.Feature
{
  "type": "object",
  "title": "Feature",
  "properties": {
    "key": {
      "type": "string"
    },
    "endAt": {
      "type": "string"
    },
    "scope": {
      "type": "string"
    },
    "value": {
      "type": "string"
    },
    "isBeta": {
      "type": "boolean"
    },
    "source": {
      "type": "string"
    },
    "startAt": {
      "type": "string"
    }
  },
  "description": "Feature contains all the information returned from a feature."
}
object view.FileversionV205
{
  "type": "object",
  "title": "FileversionV205",
  "properties": {
    "file": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "name": {
      "type": "string"
    },
    "size": {
      "type": "integer"
    },
    "fileId": {
      "type": "integer"
    },
    "status": {
      "type": "string"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "projectId": {
      "type": "integer"
    },
    "reactions": {
      "$ref": "#/components/schemas/view.ReactionsForObject"
    },
    "versionNo": {
      "type": "integer"
    },
    "uploadedAt": {
      "type": "string"
    },
    "uploadedBy": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "displayName": {
      "type": "string"
    },
    "originalName": {
      "type": "string"
    },
    "commentsCount": {
      "type": "integer"
    },
    "fileVersionId": {
      "type": "integer"
    },
    "commentsCountRead": {
      "type": "integer"
    }
  },
  "description": "FileversionV205 contains all the information returned from a fileversion."
}
object view.Form
{
  "type": "object",
  "title": "Form",
  "properties": {
    "id": {
      "type": "integer"
    },
    "state": {
      "type": "string"
    },
    "token": {
      "$ref": "#/components/schemas/view.Token"
    },
    "content": {
      "$ref": "#/components/schemas/view.Content"
    },
    "isShared": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "hostObject": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "redirectUrl": {
      "type": "string"
    },
    "installation": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "primaryColor": {
      "type": "string"
    },
    "submitButtonText": {
      "type": "string"
    },
    "taskTitleFieldId": {
      "type": "string"
    },
    "totalSubmissions": {
      "type": "integer"
    },
    "destinationObject": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "confirmationMessage": {
      "type": "string"
    },
    "responseEmailFieldId": {
      "type": "string"
    },
    "allowTeamworkBranding": {
      "type": "boolean"
    },
    "promptAdditionalSubmissions": {
      "type": "boolean"
    }
  },
  "description": "Form contains all the information returned from a form."
}
object view.IncludedProject
{
  "type": "object",
  "title": "IncludedProject",
  "description": "IncludedProject is a sideloaded project"
}
object view.IncludedTask
{
  "type": "object",
  "title": "IncludedTask",
  "description": "IncludedTask is a sideloaded task."
}
object view.Industry
{
  "type": "object",
  "title": "Industry",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "isActive": {
      "type": "boolean"
    },
    "isPublished": {
      "type": "boolean"
    },
    "displayOrder": {
      "type": "integer"
    },
    "industryCategory": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "industryCategoryId": {
      "type": "integer"
    }
  },
  "description": "Industry contains all the information returned from an industry."
}
object view.LegacyCalendarEvent
{
  "type": "object",
  "title": "LegacyCalendarEvent",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "title": {
      "type": "string"
    },
    "allDay": {
      "type": "boolean"
    },
    "typeId": {
      "type": "integer"
    },
    "deleted": {
      "type": "boolean"
    },
    "endDate": {
      "type": "string"
    },
    "ownedBy": {
      "type": "integer"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "location": {
      "type": "string"
    },
    "sequence": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "startDate": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "sequenceId": {
      "type": "integer"
    },
    "showAsBusy": {
      "type": "boolean"
    },
    "dateDeleted": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "ownerUserId": {
      "type": "integer"
    },
    "privacyType": {
      "type": "string"
    },
    "attendingUsers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "createdByUserId": {
      "type": "integer"
    },
    "createdDateTime": {
      "type": "string"
    },
    "dateLastUpdated": {
      "type": "string"
    },
    "deletedByUserId": {
      "type": "integer"
    },
    "updatedByUserId": {
      "type": "integer"
    },
    "attendeesCanEdit": {
      "type": "boolean"
    },
    "attendingUserIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "monthlyRepeatType": {
      "type": "string"
    },
    "projectUsersCanEdit": {
      "type": "boolean"
    },
    "additionalProperties": {
      "type": "string"
    },
    "currentUserAssociationType": {
      "type": "string"
    }
  },
  "description": "LegacyCalendarEvent contains all the information returned from a calendar event."
}
object view.LegacyCalendarEventType
{
  "type": "object",
  "title": "LegacyCalendarEventType",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "unavailable": {
      "type": "boolean"
    }
  },
  "description": "LegacyCalendarEventType contains all the information returned from a calendar event\ntype."
}
object view.LegacyUnavailableTime
{
  "type": "object",
  "title": "LegacyUnavailableTime",
  "properties": {
    "id": {
      "type": "integer"
    },
    "meta": {
      "type": "object"
    },
    "type": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "title": {
      "type": "string"
    },
    "allDay": {
      "type": "boolean"
    },
    "deleted": {
      "type": "boolean"
    },
    "endDate": {
      "$ref": "#/components/schemas/view.Date"
    },
    "ownedBy": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "startDate": {
      "$ref": "#/components/schemas/view.Date"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "hoursPerDay": {
      "type": "number"
    },
    "attendingUsers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "durationMinutes": {
      "type": "integer"
    }
  },
  "description": "LegacyUnavailableTime contains all the information returned for an unavailable\ntime."
}
object view.LinkItem
{
  "type": "object",
  "title": "LinkItem",
  "properties": {
    "id": {
      "type": "integer"
    },
    "code": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "width": {
      "type": "integer"
    },
    "height": {
      "type": "integer"
    },
    "deleted": {
      "type": "boolean"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "category": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "provider": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "isPrivate": {
      "type": "boolean"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "categoryId": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "forceNewWindow": {
      "type": "integer"
    }
  },
  "description": "LinkItem contains all the information returned from a link item."
}
object view.Lockdown
{
  "type": "object",
  "title": "Lockdown",
  "properties": {
    "id": {
      "type": "integer"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "userID": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "grantAccessTo": {
      "$ref": "#/components/schemas/view.UserGroupsDeprecated"
    }
  },
  "description": "Lockdown contains all the information returned from a lockdown."
}
object view.Logo
{
  "type": "object",
  "title": "Logo",
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "description": "Logo contains all the information returned from a form custom logo."
}
object view.Message
{
  "type": "object",
  "title": "Message",
  "properties": {
    "id": {
      "type": "integer"
    },
    "body": {
      "type": "string"
    },
    "meta": {
      "$ref": "#/components/schemas/view.MessageReplyMeta"
    },
    "title": {
      "type": "string"
    },
    "author": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "status": {
      "type": "string"
    },
    "message": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "lockdown": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "peopleNotifiedCount": {
      "type": "integer"
    }
  },
  "description": "Message contains all the information returned from a project message."
}
object view.MessageReply
{
  "type": "object",
  "title": "MessageReply",
  "properties": {
    "id": {
      "type": "integer"
    },
    "body": {
      "type": "string"
    },
    "meta": {
      "$ref": "#/components/schemas/view.MessageReplyMeta"
    },
    "author": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "status": {
      "type": "string"
    },
    "message": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "peopleNotifiedCount": {
      "type": "integer"
    }
  },
  "description": "MessageReply contains all the information returned from a project message."
}
object view.MessageReplyMeta
{
  "type": "object",
  "title": "MessageReplyMeta",
  "properties": {
    "isRead": {
      "type": "boolean"
    },
    "permissions": {
      "type": "object",
      "properties": {
        "canEdit": {
          "type": "boolean"
        }
      }
    }
  },
  "description": "MessageReplyMeta is the message reply meta."
}
object view.Meta
{
  "type": "object",
  "title": "Meta",
  "properties": {
    "page": {
      "$ref": "#/components/schemas/view.MetaPage"
    },
    "limit": {
      "type": "integer"
    },
    "nextCursor": {
      "type": "string"
    },
    "prevCursor": {
      "type": "string"
    },
    "averageSpend": {
      "type": "integer"
    },
    "totalCapacity": {
      "type": "integer"
    }
  },
  "description": "Meta represents the Unified API meta object."
}
object view.MetaPage
{
  "type": "object",
  "title": "MetaPage",
  "properties": {
    "count": {
      "type": "integer"
    },
    "hasMore": {
      "type": "boolean"
    },
    "pageSize": {
      "type": "integer"
    },
    "pageOffset": {
      "type": "integer"
    }
  },
  "description": "MetaPage represents the Unified API page meta object."
}
object view.Milestone
{
  "type": "object",
  "title": "Milestone",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "status": {
      "type": "string"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "canEdit": {
      "type": "boolean",
      "description": "permissions"
    },
    "private": {
      "type": "boolean"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deadline": {
      "type": "string"
    },
    "lockdown": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "reminder": {
      "type": "boolean"
    },
    "completed": {
      "type": "boolean"
    },
    "createdBy": {
      "type": "integer"
    },
    "createdOn": {
      "type": "string"
    },
    "isDeleted": {
      "type": "boolean"
    },
    "projectId": {
      "type": "integer"
    },
    "tasklists": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "updatedBy": {
      "type": "integer"
    },
    "lockdownId": {
      "type": "integer"
    },
    "canComplete": {
      "type": "boolean"
    },
    "completedBy": {
      "type": "integer"
    },
    "completedOn": {
      "type": "string"
    },
    "completerId": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "tasklistIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "commentsCount": {
      "type": "integer"
    },
    "creatorUserId": {
      "type": "integer"
    },
    "lastChangedOn": {
      "type": "string"
    },
    "latestUpdates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Audit"
      }
    },
    "changeFollowers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "descriptionHTML": {
      "type": "string"
    },
    "numCommentsRead": {
      "type": "integer"
    },
    "originalDueDate": {
      "type": "string"
    },
    "commentFollowers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "changeFollowerIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "commentFollowerIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "percentageComplete": {
      "type": "integer"
    },
    "responsibleParties": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "responsiblePartyIds": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "optional fields that are returned only when querying a milestone endpoint"
    },
    "userFollowingChanges": {
      "type": "boolean"
    },
    "userFollowingComments": {
      "type": "boolean"
    },
    "percentageTasksCompleted": {
      "type": "integer"
    }
  },
  "description": "Milestone contains all the information returned from a milestone."
}
object view.MyTimesheet
{
  "type": "object",
  "title": "MyTimesheet",
  "properties": {
    "dates": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.MyTimesheetDateSummary"
      }
    },
    "total": {
      "type": "integer"
    },
    "entity": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "customRow": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "isCustomRow": {
      "type": "boolean"
    }
  },
  "description": "MyTimesheet contains api response information for a timesheet"
}
object view.MyTimesheetDateSummary
{
  "type": "object",
  "title": "MyTimesheetDateSummary",
  "properties": {
    "timelogs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "totalMinutes": {
      "type": "integer"
    }
  },
  "description": "MyTimesheetDateSummary contains total minutes and timelog ids for a date"
}
object view.Notebook
{
  "type": "object",
  "title": "Notebook",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "type": {
      "type": "string"
    },
    "locked": {
      "type": "boolean"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "deleted": {
      "type": "boolean"
    },
    "privacy": {
      "$ref": "#/components/schemas/view.UserGroupsDeprecated"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "category": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "contents": {
      "type": "string",
      "description": "can be optionally hidden on lists"
    },
    "lockdown": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "lockedAt": {
      "type": "string"
    },
    "lockedBy": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "isPrivate": {
      "type": "boolean"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "categoryId": {
      "type": "integer"
    },
    "lockdownId": {
      "type": "integer"
    },
    "contentHTML": {
      "type": "string"
    },
    "dateCreated": {
      "type": "string"
    },
    "dateDeleted": {
      "type": "string"
    },
    "dateUpdated": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "isFullWidth": {
      "type": "boolean"
    },
    "versionCount": {
      "type": "integer"
    },
    "commentsCount": {
      "type": "integer"
    },
    "secureContent": {
      "type": "boolean"
    },
    "changeFollowers": {
      "$ref": "#/components/schemas/view.UserGroupsDeprecated"
    },
    "createdByUserID": {
      "type": "integer"
    },
    "deletedByUserID": {
      "type": "integer"
    },
    "latestVersionNo": {
      "type": "integer"
    },
    "notebookVersion": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "updatedByUserID": {
      "type": "integer"
    },
    "commentFollowers": {
      "$ref": "#/components/schemas/view.UserGroupsDeprecated"
    },
    "notebookVersionID": {
      "type": "integer"
    },
    "readCommentsCount": {
      "type": "integer"
    },
    "userFollowingChanges": {
      "type": "boolean"
    },
    "userFollowingComments": {
      "type": "boolean"
    },
    "notebookVersionCreatedDateTime": {
      "type": "string"
    },
    "notebookVersionUpdatedDateTime": {
      "type": "string"
    }
  },
  "description": "Notebook contains all the information returned from a notebook."
}
object view.NotebookCategory
{
  "type": "object",
  "title": "NotebookCategory",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "parent": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "parentId": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "elementsCount": {
      "type": "integer"
    }
  },
  "description": "NotebookCategory contains all the information returned from a notebook category."
}
object view.NotebookVersion
{
  "type": "object",
  "title": "NotebookVersion",
  "properties": {
    "contents": {
      "type": "string"
    },
    "notebook": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "versionId": {
      "type": "integer"
    },
    "notebookId": {
      "type": "integer"
    },
    "contentHTML": {
      "type": "string"
    },
    "dateCreated": {
      "type": "string"
    },
    "dateUpdated": {
      "type": "string"
    },
    "versionNumber": {
      "type": "integer"
    },
    "createdByUserID": {
      "type": "integer"
    }
  },
  "description": "NotebookVersion contains all the information returned from a notebook version."
}
object view.Notification
{
  "type": "object",
  "title": "Notification",
  "properties": {
    "id": {
      "type": "integer"
    },
    "date": {
      "type": "string"
    },
    "item": {
      "$ref": "#/components/schemas/view.NotificationItem"
    },
    "link": {
      "type": "string"
    },
    "read": {
      "type": "boolean"
    },
    "user": {
      "$ref": "#/components/schemas/view.NotificationUser"
    },
    "event": {
      "type": "string"
    },
    "popUp": {
      "type": "boolean"
    },
    "action": {
      "type": "string"
    },
    "command": {
      "type": "string"
    },
    "privacy": {
      "$ref": "#/components/schemas/view.NotificationPrivacy"
    },
    "project": {
      "$ref": "#/components/schemas/view.NotificationProject"
    },
    "extraInfo": {
      "type": "string"
    },
    "extraLink": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "installation": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "extraDescription": {
      "type": "string"
    }
  },
  "description": "Notification contains all the information returned from a notification."
}
object view.NotificationItem
{
  "type": "object",
  "title": "NotificationItem",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    }
  },
  "description": "NotificationItem contains the id and type being of what is being notified"
}
object view.NotificationPrivacy
{
  "type": "object",
  "title": "NotificationPrivacy",
  "properties": {
    "private": {
      "type": "boolean"
    },
    "lockdownId": {
      "type": "integer"
    }
  },
  "description": "NotificationPrivacy contains if the notification links to a private item"
}
object view.NotificationProject
{
  "type": "object",
  "title": "NotificationProject",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    }
  },
  "description": "NotificationProject contains the project ID & and name of the associated notification"
}
object view.NotificationUser
{
  "type": "object",
  "title": "NotificationUser",
  "properties": {
    "id": {
      "type": "integer"
    },
    "lastname": {
      "type": "string"
    },
    "firstname": {
      "type": "string"
    },
    "avatar_url": {
      "type": "string"
    }
  },
  "description": "NotificationUser contains the user information for the notification"
}
object view.PortfolioBoard
{
  "type": "object",
  "title": "PortfolioBoard",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    }
  },
  "description": "PortfolioBoard contains all the information returned from a portfolio board."
}
object view.PortfolioCard
{
  "type": "object",
  "title": "PortfolioCard",
  "properties": {
    "id": {
      "type": "integer"
    },
    "board": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "column": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "boardId": {
      "type": "integer"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "columnId": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    }
  },
  "description": "PortfolioCard contains all the information returned from a portfolio\ncolumn."
}
object view.PortfolioColumn
{
  "type": "object",
  "title": "PortfolioColumn",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    }
  },
  "description": "PortfolioColumn contains all the information returned from a portfolio\ncolumn."
}
object view.ProfitDetails
{
  "type": "object",
  "title": "ProfitDetails",
  "properties": {
    "cost": {
      "type": "number"
    },
    "profit": {
      "type": "number"
    },
    "billable": {
      "type": "number"
    },
    "expenses": {
      "type": "number"
    },
    "loggedTime": {
      "type": "integer"
    },
    "billableTime": {
      "type": "integer"
    },
    "nonBillableTime": {
      "type": "integer"
    }
  },
  "description": "ProfitDetails represents the totals."
}
object view.ProjectBudget
{
  "type": "object",
  "title": "ProjectBudget",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "capacity": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "isRetainer": {
      "type": "boolean"
    },
    "repeatUnit": {
      "type": "string"
    },
    "completedAt": {
      "type": "string"
    },
    "completedBy": {
      "type": "integer"
    },
    "dateCreated": {
      "type": "string"
    },
    "dateDeleted": {
      "type": "string"
    },
    "dateUpdated": {
      "type": "string"
    },
    "defaultRate": {
      "type": "number"
    },
    "endDateTime": {
      "type": "string"
    },
    "expenseType": {
      "type": "string"
    },
    "isRepeating": {
      "type": "boolean"
    },
    "overspendAt": {
      "type": "string"
    },
    "timelogType": {
      "type": "string"
    },
    "capacityUsed": {
      "type": "integer"
    },
    "currencyCode": {
      "type": "string"
    },
    "repeatPeriod": {
      "type": "integer"
    },
    "carryCapacity": {
      "type": "integer"
    },
    "dateCompleted": {
      "type": "string"
    },
    "notifications": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "startDateTime": {
      "type": "string"
    },
    "budgetCategory": {
      "type": "string"
    },
    "carryOverspend": {
      "type": "boolean"
    },
    "sequenceNumber": {
      "type": "integer"
    },
    "carryUnderspend": {
      "type": "boolean"
    },
    "createdByUserId": {
      "type": "integer"
    },
    "deletedByUserId": {
      "type": "integer"
    },
    "notificationIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "updatedByUserId": {
      "type": "integer"
    },
    "baselineCapacity": {
      "type": "integer"
    },
    "originatorBudget": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "repeatsRemaining": {
      "type": "integer"
    },
    "completedByUserId": {
      "type": "integer"
    },
    "budgetExpectedCost": {
      "type": "integer"
    },
    "budgetProfitMargin": {
      "type": "number"
    },
    "originatorBudgetId": {
      "type": "integer"
    },
    "budgetExpectedProfit": {
      "type": "integer"
    },
    "originatorStartDateTime": {
      "type": "string"
    }
  },
  "description": "ProjectBudget contains all the information returned from a budget."
}
object view.ProjectCategory
{
  "type": "object",
  "title": "ProjectCategory",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "parent": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "parentId": {
      "type": "integer"
    }
  },
  "description": "ProjectCategory contains all the information returned from a project\ncategory."
}
object view.ProjectEmailDropbox
{
  "type": "object",
  "title": "ProjectEmailDropbox",
  "properties": {
    "id": {
      "type": "integer"
    },
    "parent": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "itemCode": {
      "type": "string"
    },
    "itemType": {
      "type": "string"
    },
    "itemEmail": {
      "type": "string"
    },
    "projectCode": {
      "type": "string"
    },
    "projectEmails": {
      "$ref": "#/components/schemas/view.ProjectEmails"
    }
  },
  "description": "ProjectEmailDropbox contains all the information returned from a file\ncategory."
}
object view.ProjectEmails
{
  "type": "object",
  "title": "ProjectEmails",
  "properties": {
    "files": {
      "type": "string"
    },
    "links": {
      "type": "string"
    },
    "tasks": {
      "type": "string"
    },
    "messages": {
      "type": "string"
    },
    "notebooks": {
      "type": "string"
    }
  },
  "description": "ProjectEmails is the project emails."
}
object view.ProjectFileV205
{
  "type": "object",
  "title": "ProjectFileV205",
  "properties": {
    "id": {
      "type": "integer"
    },
    "meta": {
      "type": "object"
    },
    "size": {
      "type": "integer"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "status": {
      "type": "string"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "version": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "category": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "isLocked": {
      "type": "boolean"
    },
    "lockdown": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "lockedAt": {
      "type": "string"
    },
    "lockedBy": {
      "type": "integer"
    },
    "numLikes": {
      "type": "integer"
    },
    "thumbURL": {
      "type": "string"
    },
    "versions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.FileversionV205"
      }
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "extraData": {
      "type": "string"
    },
    "isPrivate": {
      "enum": [
        "0",
        "1",
        "2"
      ],
      "type": "string",
      "description": "IsPrivate can have the values 0 for public, 1 for private and 2 for\ninherited."
    },
    "projectId": {
      "type": "integer"
    },
    "reactions": {
      "$ref": "#/components/schemas/view.ReactionsForObject"
    },
    "updatedAt": {
      "type": "string"
    },
    "versionId": {
      "type": "integer"
    },
    "categoryId": {
      "type": "integer"
    },
    "fileSource": {
      "type": "string"
    },
    "lockdownId": {
      "type": "integer"
    },
    "lockedDate": {
      "type": "string"
    },
    "previewURL": {
      "type": "string"
    },
    "uploadedAt": {
      "type": "string"
    },
    "uploadedBy": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "displayName": {
      "type": "string"
    },
    "downloadURL": {
      "type": "string"
    },
    "originalName": {
      "type": "string"
    },
    "relatedItems": {
      "$ref": "#/components/schemas/view.RelatedItems"
    },
    "uploadedDate": {
      "type": "string"
    },
    "commentsCount": {
      "type": "integer"
    },
    "filenameOnDisk": {
      "type": "string"
    },
    "lockedByUserId": {
      "type": "integer"
    },
    "changeFollowers": {
      "$ref": "#/components/schemas/view.UserGroupsDeprecated"
    },
    "commentFollowers": {
      "$ref": "#/components/schemas/view.UserGroupsDeprecated"
    },
    "uploadedByUserID": {
      "type": "integer"
    },
    "commentsCountRead": {
      "type": "integer"
    },
    "latestFileVersionNo": {
      "type": "integer"
    }
  },
  "description": "ProjectFileV205 contains all the information returned from a file."
}
object view.ProjectMinMaxAvailableDates
{
  "type": "object",
  "title": "ProjectMinMaxAvailableDates",
  "properties": {
    "maxEndDate": {
      "type": "string"
    },
    "minStartDate": {
      "type": "string"
    },
    "deadlinesFound": {
      "type": "boolean"
    },
    "suggestedEndDate": {
      "type": "string"
    },
    "suggestedStartDate": {
      "type": "string"
    }
  },
  "description": "ProjectMinMaxAvailableDates shows suggested start and\nend dates for a project."
}
object view.ProjectPermissions
{
  "type": "object",
  "title": "ProjectPermissions",
  "properties": {
    "active": {
      "type": "boolean"
    },
    "addTime": {
      "type": "boolean"
    },
    "addFiles": {
      "type": "boolean"
    },
    "addForms": {
      "type": "boolean"
    },
    "addLinks": {
      "type": "boolean"
    },
    "addRisks": {
      "type": "boolean"
    },
    "addTasks": {
      "type": "boolean"
    },
    "viewTime": {
      "type": "boolean"
    },
    "canAccess": {
      "type": "boolean"
    },
    "viewLinks": {
      "type": "boolean"
    },
    "isArchived": {
      "type": "boolean"
    },
    "setPrivacy": {
      "type": "boolean"
    },
    "addExpenses": {
      "type": "boolean"
    },
    "addMessages": {
      "type": "boolean"
    },
    "isObserving": {
      "type": "boolean"
    },
    "addNotebooks": {
      "type": "boolean"
    },
    "addTaskLists": {
      "type": "boolean"
    },
    "canViewForms": {
      "type": "boolean"
    },
    "canViewRates": {
      "type": "boolean"
    },
    "editAllTasks": {
      "type": "boolean"
    },
    "viewInvoices": {
      "type": "boolean"
    },
    "addMilestones": {
      "type": "boolean"
    },
    "viewNotebooks": {
      "type": "boolean"
    },
    "canManageRates": {
      "type": "boolean"
    },
    "inOwnerCompany": {
      "type": "boolean"
    },
    "canManagePeople": {
      "type": "boolean"
    },
    "canViewSchedule": {
      "type": "boolean"
    },
    "viewAllTimeLogs": {
      "type": "boolean"
    },
    "addProjectUpdate": {
      "type": "boolean"
    },
    "canEditWorkflows": {
      "type": "boolean"
    },
    "canViewWorkflows": {
      "type": "boolean"
    },
    "viewRiskRegister": {
      "type": "boolean"
    },
    "canManageSchedule": {
      "type": "boolean"
    },
    "viewEstimatedTime": {
      "type": "boolean"
    },
    "viewProjectUpdate": {
      "type": "boolean"
    },
    "manageCustomFields": {
      "type": "boolean"
    },
    "canViewProjectBudget": {
      "type": "boolean"
    },
    "projectAdministrator": {
      "type": "boolean"
    },
    "viewMessagesAndFiles": {
      "type": "boolean"
    },
    "canViewProjectMembers": {
      "type": "boolean"
    },
    "canManageProjectBudget": {
      "type": "boolean"
    },
    "viewTasksAndMilestones": {
      "type": "boolean"
    },
    "canViewProjectTemplates": {
      "type": "boolean"
    },
    "canManageProjectTemplates": {
      "type": "boolean"
    },
    "receiveEmailNotifications": {
      "type": "boolean"
    },
    "canManageProjectMembership": {
      "type": "boolean"
    }
  },
  "description": "ProjectPermissions determines the user permissions associated with a project."
}
object view.ProjectUpdate
{
  "type": "object",
  "title": "ProjectUpdate",
  "properties": {
    "id": {
      "type": "integer"
    },
    "text": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "health": {
      "type": "integer"
    },
    "deleted": {
      "type": "boolean"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "isActive": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "reactions": {
      "$ref": "#/components/schemas/view.ReactionsForObject"
    },
    "updatedAt": {
      "type": "string"
    },
    "healthLabel": {
      "type": "string"
    },
    "likeFromUsers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "likeFromUserIDs": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "ProjectUpdate contains all the information returned from a update."
}
object view.ProjectV205
{
  "type": "object",
  "title": "ProjectV205",
  "properties": {
    "id": {
      "type": "integer"
    },
    "logo": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "type": {
      "type": "string"
    },
    "endAt": {
      "type": "string"
    },
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "status": {
      "type": "string"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "update": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "company": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "endDate": {
      "type": "string"
    },
    "ownedBy": {
      "type": "integer"
    },
    "ownerId": {
      "type": "integer"
    },
    "startAt": {
      "type": "string"
    },
    "category": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "logoIcon": {
      "type": "string"
    },
    "updateId": {
      "type": "integer"
    },
    "companyId": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "isStarred": {
      "type": "boolean"
    },
    "logoColor": {
      "type": "string"
    },
    "startDate": {
      "type": "string"
    },
    "startPage": {
      "type": "string"
    },
    "subStatus": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "workflows": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "categoryId": {
      "type": "integer"
    },
    "isBillable": {
      "type": "boolean"
    },
    "timeBudget": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "activePages": {
      "type": "object",
      "properties": {
        "list": {
          "type": "boolean"
        },
        "time": {
          "type": "boolean"
        },
        "board": {
          "type": "boolean"
        },
        "files": {
          "type": "boolean"
        },
        "forms": {
          "type": "boolean"
        },
        "gantt": {
          "type": "boolean"
        },
        "links": {
          "type": "boolean"
        },
        "table": {
          "type": "boolean"
        },
        "tasks": {
          "type": "boolean"
        },
        "proofs": {
          "type": "boolean"
        },
        "billing": {
          "type": "boolean"
        },
        "finance": {
          "type": "boolean"
        },
        "comments": {
          "type": "boolean"
        },
        "messages": {
          "type": "boolean"
        },
        "notebooks": {
          "type": "boolean"
        },
        "milestones": {
          "type": "boolean"
        },
        "riskRegister": {
          "type": "boolean"
        }
      }
    },
    "description": {
      "type": "string"
    },
    "announcement": {
      "type": "string"
    },
    "integrations": {
      "type": "object",
      "properties": {
        "xero": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "connected": {
              "type": "boolean"
            },
            "countryCode": {
              "type": "string"
            },
            "baseCurrency": {
              "type": "string"
            },
            "organisation": {
              "type": "string"
            }
          }
        },
        "sharepoint": {
          "type": "object",
          "properties": {
            "folder": {
              "type": "string"
            },
            "account": {
              "type": "string"
            },
            "enabled": {
              "type": "boolean"
            },
            "folderName": {
              "type": "string"
            }
          }
        },
        "googleDrive": {
          "type": "object",
          "properties": {
            "access": {
              "type": "string"
            },
            "folder": {
              "type": "string"
            },
            "enabled": {
              "type": "boolean"
            },
            "folderName": {
              "type": "string"
            }
          }
        },
        "oneDriveBusiness": {
          "type": "object",
          "properties": {
            "folder": {
              "type": "string"
            },
            "account": {
              "type": "string"
            },
            "enabled": {
              "type": "boolean"
            },
            "folderName": {
              "type": "string"
            }
          }
        }
      }
    },
    "lastWorkedOn": {
      "type": "string"
    },
    "projectOwner": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "skipWeekends": {
      "type": "boolean"
    },
    "timeBudgetId": {
      "type": "integer"
    },
    "defaultPrivacy": {
      "type": "string"
    },
    "isProjectAdmin": {
      "type": "boolean"
    },
    "latestActivity": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "notifyEveryone": {
      "type": "boolean"
    },
    "portfolioCards": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "privacyEnabled": {
      "type": "boolean"
    },
    "projectOwnerId": {
      "type": "integer"
    },
    "tasksStartPage": {
      "type": "string"
    },
    "financialBudget": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "isSampleProject": {
      "type": "boolean"
    },
    "showAnnouncement": {
      "type": "boolean"
    },
    "allowNotifyAnyone": {
      "type": "boolean"
    },
    "customFieldValues": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "customfieldValues": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "financialBudgetId": {
      "type": "integer"
    },
    "overviewStartPage": {
      "type": "string"
    },
    "notifyTaskAssignee": {
      "type": "boolean"
    },
    "customFieldValueIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "isOnBoardingProject": {
      "type": "boolean"
    },
    "replyByEmailEnabled": {
      "type": "boolean"
    },
    "harvestTimersEnabled": {
      "type": "boolean"
    },
    "minMaxAvailableDates": {
      "$ref": "#/components/schemas/view.ProjectMinMaxAvailableDates"
    },
    "directFileUploadsEnabled": {
      "type": "boolean"
    },
    "notifyCommentIncludeCreator": {
      "type": "boolean"
    }
  },
  "description": "ProjectV205 contains all the information returned from a project."
}
object view.Proof
{
  "type": "object",
  "title": "Proof",
  "properties": {
    "id": {
      "type": "integer"
    },
    "due": {
      "$ref": "#/components/schemas/view.Date"
    },
    "state": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "entity": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "parent": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "status": {
      "type": "string"
    },
    "company": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "objects": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.ProofObject"
      }
    },
    "product": {
      "type": "string"
    },
    "assignees": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Assignee"
      }
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "feedbackCount": {
      "type": "integer"
    },
    "installationId": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "errorObjectIdxs": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "Proof contains all the information returned from a proof."
}
object view.ProofObject
{
  "type": "object",
  "title": "ProofObject",
  "properties": {
    "id": {
      "type": "integer"
    },
    "URL": {
      "type": "string"
    },
    "due": {
      "type": "string"
    },
    "size": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "format": {
      "type": "string"
    },
    "version": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "thumbnail": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "totalChunks": {
      "type": "integer"
    },
    "sourceFormat": {
      "type": "string"
    },
    "stateMessage": {
      "type": "string"
    },
    "approvalStatus": {
      "type": "string"
    },
    "installationId": {
      "$ref": "#/components/schemas/view.Relationship"
    }
  },
  "description": "ProofObject is a proof object item type."
}
object view.PublicForm
{
  "type": "object",
  "title": "PublicForm",
  "properties": {
    "token": {
      "$ref": "#/components/schemas/view.Token"
    },
    "content": {
      "$ref": "#/components/schemas/view.Content"
    },
    "redirectUrl": {
      "type": "string"
    },
    "primaryColor": {
      "type": "string"
    },
    "allowFileUpload": {
      "type": "boolean"
    },
    "submitButtonText": {
      "type": "string"
    },
    "confirmationMessage": {
      "type": "string"
    },
    "allowTeamworkBranding": {
      "type": "boolean"
    },
    "promptAdditionalSubmissions": {
      "type": "boolean"
    }
  },
  "description": "PublicForm is a publically viewable version of Form"
}
object view.Reaction
{
  "type": "object",
  "title": "Reaction",
  "properties": {
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "object": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "userId": {
      "type": "integer"
    },
    "objectId": {
      "type": "integer"
    },
    "objectType": {
      "type": "string"
    },
    "installation": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "installationId": {
      "type": "integer"
    },
    "postedDateTime": {
      "type": "string"
    }
  },
  "description": "Reaction is a reaction item type."
}
object view.ReactionsForObject
{
  "type": "object",
  "title": "ReactionsForObject",
  "properties": {
    "mine": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "counts": {
      "$ref": "#/components/schemas/view.ReactionsForObjectCounter"
    }
  },
  "description": "ReactionsForObject contains all reactions information of a specific object."
}
object view.ReactionsForObjectCounter
{
  "type": "object",
  "title": "ReactionsForObjectCounter",
  "properties": {
    "joy": {
      "type": "integer"
    },
    "like": {
      "type": "integer"
    },
    "frown": {
      "type": "integer"
    },
    "heart": {
      "type": "integer"
    },
    "dislike": {
      "type": "integer"
    }
  },
  "description": "ReactionsForObjectCounter contains the reactions counter of a specific\nobject."
}
object view.RelatedItems
{
  "type": "object",
  "title": "RelatedItems",
  "properties": {
    "tasks": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "comments": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "messages": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "RelatedItems represents the items a file can be related to."
}
object view.Relationship
{
  "type": "object",
  "title": "Relationship",
  "properties": {
    "id": {
      "type": "integer"
    },
    "meta": {
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "description": "Relationship describes the relation between the main entity and a sideload type."
}
object view.Risk
{
  "type": "object",
  "title": "Risk",
  "properties": {
    "id": {
      "type": "integer"
    },
    "impact": {
      "type": "string"
    },
    "result": {
      "type": "integer"
    },
    "source": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "canEdit": {
      "type": "boolean"
    },
    "deleted": {
      "type": "boolean"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "createdOn": {
      "type": "string"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "impactCost": {
      "type": "boolean"
    },
    "impactValue": {
      "type": "integer"
    },
    "probability": {
      "type": "string"
    },
    "lastChangedOn": {
      "type": "string"
    },
    "impactSchedule": {
      "type": "boolean"
    },
    "mitigationPlan": {
      "type": "string"
    },
    "createdByUserId": {
      "type": "integer"
    },
    "probabilityValue": {
      "type": "integer"
    },
    "impactPerformance": {
      "type": "boolean"
    },
    "lastChangedByUserId": {
      "type": "integer"
    }
  },
  "description": "Risk represents a view of a risk."
}
object view.SampleProject
{
  "type": "object",
  "title": "SampleProject",
  "properties": {
    "id": {
      "type": "integer"
    },
    "code": {
      "type": "string"
    },
    "icon": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "content": {},
    "categoryId": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "imagePreview": {
      "type": "string"
    }
  },
  "description": "SampleProject contains all the sample project information."
}
object view.Stage
{
  "type": "object",
  "title": "Stage",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "taskIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "workflow": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "displayOrder": {
      "type": "number"
    },
    "showCompletedTasks": {
      "type": "boolean"
    }
  },
  "description": "Stage contains all the information returned from a stage."
}
object view.Status
{
  "type": "object",
  "title": "Status",
  "properties": {
    "id": {
      "type": "integer"
    },
    "text": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "emoji": {
      "type": "string"
    },
    "userId": {
      "type": "integer"
    },
    "deleted": {
      "type": "boolean"
    },
    "dateTime": {
      "type": "string"
    },
    "ipAddress": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "dateLastUpdated": {
      "type": "string"
    }
  },
  "description": "Status contains all the information returned from a status."
}
object view.Tag
{
  "type": "object",
  "title": "Tag",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "projectId": {
      "type": "integer"
    }
  },
  "description": "Tag contains all the information returned from a tag."
}
object view.TaskAffectedV205
{
  "type": "object",
  "title": "TaskAffectedV205",
  "properties": {
    "taskIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "linkedCardId": {
      "type": "integer"
    },
    "linkedColumnId": {
      "type": "integer"
    },
    "linkedColumnName": {
      "type": "string"
    }
  },
  "description": "TaskAffectedV205 contains the affected tasks, for real-time updates"
}
object view.TaskCard
{
  "type": "object",
  "title": "TaskCard",
  "properties": {
    "id": {
      "type": "integer"
    },
    "column": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "status": {
      "type": "string"
    },
    "visible": {
      "type": "boolean"
    },
    "archived": {
      "type": "boolean"
    },
    "createBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deleteBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "deletedAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "archivedAt": {
      "type": "string"
    },
    "archivedBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "displayOrder": {
      "type": "integer"
    }
  },
  "description": "TaskCard contains all the information returned from a card."
}
object view.TaskPermissions
{
  "type": "object",
  "title": "TaskPermissions",
  "properties": {
    "canEdit": {
      "type": "boolean"
    },
    "canLogTime": {
      "type": "boolean"
    },
    "canComplete": {
      "type": "boolean"
    },
    "canAddSubtasks": {
      "type": "boolean"
    },
    "canViewEstTime": {
      "type": "boolean"
    }
  },
  "description": "TaskPermissions is a user specific set of task permissions"
}
object view.TaskReminder
{
  "type": "object",
  "title": "TaskReminder",
  "properties": {
    "id": {
      "type": "integer"
    },
    "note": {
      "type": "string"
    },
    "task": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "wasSent": {
      "type": "boolean"
    },
    "remindAt": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "isRelative": {
      "type": "boolean"
    },
    "relativeNumberDays": {
      "type": "integer"
    }
  },
  "description": "TaskReminder contains all the information returned from a reminder."
}
object view.TaskSequence
{
  "type": "object",
  "title": "TaskSequence",
  "properties": {
    "id": {
      "type": "integer"
    },
    "dates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Date"
      }
    },
    "rrule": {
      "type": "string"
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "endDate": {
      "type": "string"
    },
    "duration": {
      "type": "integer"
    },
    "frequency": {
      "type": "string"
    },
    "installationId": {
      "type": "integer"
    },
    "selectedWeekDays": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "monthlyRepeatType": {
      "type": "string"
    }
  },
  "description": "TaskSequence defines how entity.TaskSequence should be rendered."
}
object view.TaskStats
{
  "type": "object",
  "title": "TaskStats",
  "properties": {
    "id": {
      "type": "integer"
    },
    "late": {
      "type": "integer"
    },
    "active": {
      "type": "integer"
    },
    "complete": {
      "type": "integer"
    }
  },
  "description": "TaskStats shows basic task stats"
}
object view.TaskTimeTotals
{
  "type": "object",
  "title": "TaskTimeTotals",
  "properties": {
    "loggedMinutes": {
      "type": "integer"
    },
    "billedloggedMinutes": {
      "type": "integer"
    },
    "billableLoggedMinutes": {
      "type": "integer"
    }
  },
  "description": "TaskTimeTotals contains time total info for a task"
}
object view.TaskV205
{
  "type": "object",
  "title": "TaskV205",
  "properties": {
    "id": {
      "type": "integer"
    },
    "card": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "meta": {
      "type": "object"
    },
    "name": {
      "type": "string"
    },
    "timer": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "column": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "proofs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "status": {
      "type": "string"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "dueDate": {
      "type": "string"
    },
    "lockdown": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "priority": {
      "type": "string"
    },
    "progress": {
      "type": "integer"
    },
    "sequence": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "tasklist": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "assignees": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "isBlocked": {
      "type": "boolean"
    },
    "isPrivate": {
      "type": "integer"
    },
    "startDate": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "capacities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "crmDealIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "isArchived": {
      "type": "boolean"
    },
    "parentTask": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "sequenceId": {
      "type": "integer"
    },
    "subTaskIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "tasklistId": {
      "type": "integer"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "completedAt": {
      "type": "string"
    },
    "completedBy": {
      "type": "integer"
    },
    "completedOn": {
      "type": "string"
    },
    "dateUpdated": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "displayOrder": {
      "type": "integer"
    },
    "hasReminders": {
      "type": "boolean"
    },
    "parentTaskId": {
      "type": "integer"
    },
    "predecessors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "assigneeTeams": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "assigneeUsers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "dependencyIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "dueDateOffset": {
      "type": "integer"
    },
    "latestUpdates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Audit"
      }
    },
    "outOfSequence": {
      "type": "boolean"
    },
    "hasDeskTickets": {
      "type": "boolean"
    },
    "predecessorIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "workflowStages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.TaskWorkflowStageData"
      }
    },
    "assigneeTeamIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "assigneeUserIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "changeFollowers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "createdByUserId": {
      "type": "integer"
    },
    "estimateMinutes": {
      "type": "integer"
    },
    "originalDueDate": {
      "$ref": "#/components/schemas/view.Date"
    },
    "sequenceDueDate": {
      "$ref": "#/components/schemas/view.Date"
    },
    "startDateOffset": {
      "type": "integer"
    },
    "userPermissions": {
      "$ref": "#/components/schemas/view.TaskPermissions"
    },
    "commentFollowers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "sequenceRootTask": {
      "type": "boolean"
    },
    "templateRoleName": {
      "type": "string"
    },
    "assigneeCompanies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "sequenceStartDate": {
      "$ref": "#/components/schemas/view.Date"
    },
    "assigneeCompanyIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "decimalDisplayOrder": {
      "type": "number"
    },
    "descriptionContentType": {
      "type": "string"
    },
    "accumulatedEstimatedMinutes": {
      "type": "integer"
    }
  },
  "description": "TaskV205 defines how entity.Task should be rendered."
}
object view.TaskWorkflowStageData
{
  "type": "object",
  "title": "TaskWorkflowStageData",
  "properties": {
    "stageId": {
      "type": "integer"
    },
    "workflowId": {
      "type": "integer"
    },
    "stageTaskDisplayOrder": {
      "type": "number"
    }
  },
  "description": "TaskWorkflowStageData contains the workflow data for a task"
}
object view.Taskgroup
{
  "type": "object",
  "title": "Taskgroup",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "taskIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "description": {
      "type": "string"
    },
    "displayOrder": {
      "type": "number"
    }
  },
  "description": "Taskgroup contains all the information returned from a Taskgroup."
}
object view.Tasklist
{
  "type": "object",
  "title": "Tasklist",
  "properties": {
    "id": {
      "type": "integer"
    },
    "icon": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "isPinned": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string"
    },
    "isPrivate": {
      "type": "boolean"
    },
    "milestone": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "isBillable": {
      "type": "boolean"
    },
    "lockdownId": {
      "type": "integer"
    },
    "defaultTask": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "description": {
      "type": "string"
    },
    "milestoneId": {
      "type": "integer"
    },
    "displayOrder": {
      "type": "integer"
    },
    "defaultTaskId": {
      "type": "integer"
    },
    "tasklistBudget": {
      "$ref": "#/components/schemas/view.Relationship"
    }
  },
  "description": "Tasklist contains all the information returned from a tasklist."
}
object view.TasklistBudget
{
  "type": "object",
  "title": "TasklistBudget",
  "properties": {
    "id": {
      "type": "integer"
    },
    "type": {
      "type": "string"
    },
    "capacity": {
      "type": "integer"
    },
    "tasklist": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "tasklistId": {
      "type": "integer"
    },
    "capacityUsed": {
      "type": "integer"
    },
    "notifications": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "projectbudget": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "installationId": {
      "type": "integer"
    },
    "notificationIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "projectBudgetId": {
      "type": "integer"
    }
  },
  "description": "TasklistBudget is a budget item type."
}
object view.TasklistBudgetNotification
{
  "type": "object",
  "title": "TasklistBudgetNotification",
  "properties": {
    "id": {
      "type": "integer"
    },
    "teamId": {
      "type": "integer"
    },
    "userId": {
      "type": "integer"
    },
    "budgetId": {
      "type": "integer"
    },
    "companyId": {
      "type": "integer"
    },
    "capacityThreshold": {
      "type": "number"
    },
    "notificationMedium": {
      "type": "string"
    }
  },
  "description": "TasklistBudgetNotification contains all the information returned from a notification."
}
object view.Team
{
  "type": "object",
  "title": "Team",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "teamLogo": {
      "type": "string"
    },
    "teamLogoIcon": {
      "type": "string"
    },
    "teamLogoColor": {
      "type": "string"
    }
  },
  "description": "Team contains all the information returned from a team."
}
object view.Timelog
{
  "type": "object",
  "title": "Timelog",
  "properties": {
    "id": {
      "type": "integer"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "task": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "taskId": {
      "type": "integer"
    },
    "userId": {
      "type": "integer"
    },
    "deleted": {
      "type": "boolean"
    },
    "minutes": {
      "type": "integer"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "billable": {
      "type": "boolean"
    },
    "loggedBy": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "deletedAt": {
      "type": "string"
    },
    "deletedBy": {
      "type": "integer"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "dateEdited": {
      "type": "string"
    },
    "isBillable": {
      "type": "boolean"
    },
    "timeLogged": {
      "type": "string"
    },
    "dateCreated": {
      "type": "string"
    },
    "dateDeleted": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "taskPreMove": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deskTicketId": {
      "type": "integer"
    },
    "hasStartTime": {
      "type": "boolean"
    },
    "taskIdPreMove": {
      "type": "integer"
    },
    "editedByUserId": {
      "type": "integer"
    },
    "loggedByUserId": {
      "type": "integer"
    },
    "assignedTeamIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "deletedByUserId": {
      "type": "integer"
    },
    "projectBillingInvoice": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "projectBillingInvoiceId": {
      "type": "integer"
    }
  },
  "description": "Timelog contains all the information returned from a timelog."
}
object view.TimelogTotals
{
  "type": "object",
  "title": "TimelogTotals",
  "properties": {
    "minutes": {
      "type": "integer"
    },
    "minutesBilled": {
      "type": "integer"
    },
    "minutesBillable": {
      "type": "integer"
    },
    "estimatedMinutes": {
      "type": "integer"
    },
    "minutesNonBilled": {
      "type": "integer"
    },
    "minutesNonBillable": {
      "type": "integer"
    },
    "estimatedMinutesActive": {
      "type": "integer"
    },
    "estimatedMinutesFiltered": {
      "type": "integer"
    },
    "estimatedMinutesCompleted": {
      "type": "integer"
    },
    "estimatedMinutesWithLoggedTime": {
      "type": "integer"
    }
  },
  "description": "TimelogTotals contains all the information returned for timelog totals."
}
object view.TimelogTotalsSubtasks
{
  "type": "object",
  "title": "TimelogTotalsSubtasks",
  "properties": {
    "minutes": {
      "type": "integer"
    },
    "minutesBillable": {
      "type": "integer"
    },
    "estimatedMinutes": {
      "type": "integer"
    }
  },
  "description": "TimelogTotalsSubtasks contains all the information returned for timelog totals for subtasks."
}
object view.Timer
{
  "type": "object",
  "title": "Timer",
  "properties": {
    "id": {
      "type": "integer"
    },
    "task": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "taskId": {
      "type": "integer"
    },
    "userId": {
      "type": "integer"
    },
    "deleted": {
      "type": "boolean"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "running": {
      "type": "boolean"
    },
    "timelog": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "billable": {
      "type": "boolean"
    },
    "duration": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "deletedAt": {
      "type": "string"
    },
    "intervals": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.TimerInterval"
      }
    },
    "projectId": {
      "type": "integer"
    },
    "timeLogId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "serverTime": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "lastStartedAt": {
      "type": "string"
    },
    "timerLastIntervalEnd": {
      "type": "string"
    }
  },
  "description": "Timer contains all the information returned from a timer."
}
object view.TimerInterval
{
  "type": "object",
  "title": "TimerInterval",
  "properties": {
    "id": {
      "type": "integer"
    },
    "to": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "duration": {
      "type": "integer"
    }
  },
  "description": "TimerInterval contains all the information returned from a timer\ninterval."
}
object view.TimesheetCustomRow
{
  "type": "object",
  "title": "TimesheetCustomRow",
  "properties": {
    "id": {
      "type": "integer"
    },
    "entityId": {
      "type": "integer"
    },
    "entityType": {
      "type": "string"
    }
  },
  "description": "TimesheetCustomRow represents a custom row for a timesheet"
}
object view.Token
{
  "type": "object",
  "title": "Token",
  "properties": {
    "value": {
      "type": "string"
    },
    "canonicalURL": {
      "type": "string"
    }
  },
  "description": "Token contains all the information returned from a form token."
}
object view.UnavailableTimes
{
  "type": "object",
  "title": "UnavailableTimes",
  "properties": {
    "dates": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/components/schemas/view.UnavailableTimesDateSummary"
      }
    },
    "totalUnavailableMinutes": {
      "type": "integer"
    }
  },
  "description": "UnavailableTimes contains date summary and total Unavailable minutes"
}
object view.UnavailableTimesDateSummary
{
  "type": "object",
  "title": "UnavailableTimesDateSummary",
  "properties": {
    "unavailableTimes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "totalUnavailableMinutes": {
      "type": "integer"
    }
  },
  "description": "UnavailableTimesDateSummary contains total minutes and event ids for a date"
}
object view.User
{
  "type": "object",
  "title": "User",
  "properties": {
    "id": {
      "type": "integer"
    },
    "meta": {
      "type": "object"
    },
    "type": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "teams": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "title": {
      "type": "string"
    },
    "company": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "deleted": {
      "type": "boolean"
    },
    "isAdmin": {
      "type": "boolean"
    },
    "lastName": {
      "type": "string"
    },
    "timezone": {
      "type": "string"
    },
    "userCost": {
      "type": "integer"
    },
    "userRate": {
      "type": "integer"
    },
    "avatarUrl": {
      "type": "string"
    },
    "companyId": {
      "type": "integer"
    },
    "firstName": {
      "type": "string"
    },
    "lengthOfDay": {
      "type": "number"
    },
    "workingHour": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "isClientUser": {
      "type": "boolean"
    },
    "companyRoleId": {
      "type": "integer"
    },
    "canAddProjects": {
      "type": "boolean"
    },
    "workingHoursId": {
      "type": "integer"
    },
    "isServiceAccount": {
      "type": "boolean"
    }
  },
  "description": "User contains all the information returned from an user."
}
object view.UserDashboard
{
  "type": "object",
  "title": "UserDashboard",
  "properties": {
    "id": {
      "type": "integer"
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "color": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "userId": {
      "type": "integer"
    },
    "deleted": {
      "type": "boolean"
    },
    "project": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "deletedAt": {
      "type": "string"
    },
    "isDefault": {
      "type": "boolean"
    },
    "projectId": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "displayOrder": {
      "type": "integer"
    },
    "dashboardPanels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "dashboardPanelIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "dashboardSettings": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "dashboardSettingIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "UserDashboard contains all the information returned from a dashboard."
}
object view.UserDashboardPanel
{
  "type": "object",
  "title": "UserDashboardPanel",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "dashboardId": {
      "type": "integer"
    },
    "displayOrder": {
      "type": "integer"
    },
    "dashboardPanelSettingIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "UserDashboardPanel contains all the information returned from a dashboard\npanel."
}
object view.UserDashboardPanelSetting
{
  "type": "object",
  "title": "UserDashboardPanelSetting",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "value": {
      "type": "string"
    },
    "dashboardId": {
      "type": "integer"
    },
    "dashboardPanelId": {
      "type": "integer"
    }
  },
  "description": "UserDashboardPanelSetting contains all the information returned from a dashboard\npanel."
}
object view.UserDashboardSetting
{
  "type": "object",
  "title": "UserDashboardSetting",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "value": {
      "type": "string"
    },
    "dashboardId": {
      "type": "integer"
    }
  },
  "description": "UserDashboardSetting contains all the information returned from a dashboard\nsetting."
}
object view.UserEvents
{
  "type": "object",
  "title": "UserEvents",
  "properties": {
    "clockedIn": {
      "type": "boolean"
    }
  },
  "description": "UserEvents contains status details from other project\nfeatures related with a user."
}
object view.UserGroupsDeprecated
{
  "type": "object",
  "title": "UserGroupsDeprecated",
  "properties": {
    "teams": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "teamIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "userIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "companies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "companyIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "UserGroupsDeprecated are common lists\nfor storing users, companies and teams ids\ntogether.\nUse []Relationship instead"
}
object view.UserUtilization
{
  "type": "object",
  "title": "UserUtilization",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.UserUtilizationData"
      }
    },
    "user": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "userId": {
      "type": "integer"
    }
  },
  "description": "UserUtilization contains all the information returned from a utilization."
}
object view.UserUtilizationData
{
  "type": "object",
  "title": "UserUtilizationData",
  "properties": {
    "endDate": {
      "$ref": "#/components/schemas/view.Date"
    },
    "startDate": {
      "$ref": "#/components/schemas/view.Date"
    },
    "loggedMinutes": {
      "type": "integer"
    },
    "billableMinutes": {
      "type": "integer"
    },
    "allocatedMinutes": {
      "type": "integer"
    },
    "availableMinutes": {
      "type": "integer"
    },
    "estimatedMinutes": {
      "type": "integer"
    },
    "unbillableMinutes": {
      "type": "integer"
    },
    "unavailableMinutes": {
      "type": "integer"
    }
  },
  "description": "UserUtilizationData stores the user utilization on a specific period."
}
object view.Workflow
{
  "type": "object",
  "title": "Workflow",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "stages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "status": {
      "type": "string"
    },
    "lockdown": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "type": "integer"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "type": "integer"
    },
    "projectIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "defaultWorkflow": {
      "type": "boolean"
    },
    "projectSpecific": {
      "type": "boolean"
    }
  },
  "description": "Workflow contains all the information returned from a workflow."
}
object view.WorkingHour
{
  "type": "object",
  "title": "WorkingHour",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "object": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "entries": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/view.Relationship"
      }
    },
    "entryIds": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    },
    "objectId": {
      "type": "integer"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "objectType": {
      "type": "string"
    },
    "dateCreated": {
      "type": "string"
    },
    "dateUpdated": {
      "type": "string"
    },
    "description": {
      "type": "string"
    }
  },
  "description": "WorkingHour stores the the working hours of an entity (user, team, etc)."
}
object view.WorkingHourEntry
{
  "type": "object",
  "title": "WorkingHourEntry",
  "properties": {
    "id": {
      "type": "integer"
    },
    "endTime": {
      "type": "string"
    },
    "weekday": {
      "type": "string"
    },
    "timezone": {
      "type": "string"
    },
    "startTime": {
      "type": "string"
    },
    "taskHours": {
      "type": "number"
    },
    "workingHour": {
      "$ref": "#/components/schemas/view.Relationship"
    },
    "workingHourId": {
      "type": "integer"
    }
  },
  "description": "WorkingHourEntry stores weekday working hour data."
}