teamwork.json•1.68 MB
{
"consumes": [
"application/json"
],
"definitions": {
"active.ProjectMetricActive": {
"description": "ProjectMetricActive contains all the information returned from a active.",
"properties": {
"value": {
"type": "integer"
}
},
"title": "ProjectMetricActive",
"type": "object"
},
"active.Response": {
"description": "Response contains information about a specific active.",
"properties": {
"data": {
"$ref": "#/definitions/active.ProjectMetricActive"
}
},
"title": "Response",
"type": "object"
},
"activity.ActivitiesResponse": {
"description": "ActivitiesResponse contains all the information returned when sending a GET\nrequest to the activity endpoint.",
"properties": {
"activities": {
"items": {
"$ref": "#/definitions/activity.Activity"
},
"type": "array"
},
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "ActivitiesResponse",
"type": "object"
},
"activity.Activity": {
"description": "Activity represents a view of activity.",
"properties": {
"activityType": {
"type": "string"
},
"company": {
"$ref": "#/definitions/view.Relationship"
},
"companyId": {
"type": "integer"
},
"dateTime": {
"type": "string"
},
"description": {
"type": "string"
},
"dueDate": {
"type": "string"
},
"extraDescription": {
"type": "string"
},
"forUser": {
"$ref": "#/definitions/view.Relationship"
},
"forUserId": {
"type": "integer"
},
"forUserName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isPrivate": {
"type": "integer"
},
"item": {
"$ref": "#/definitions/view.Relationship"
},
"itemId": {
"type": "integer"
},
"itemLink": {
"type": "string"
},
"latestActivityType": {
"type": "string"
},
"link": {
"type": "string"
},
"lockdown": {
"$ref": "#/definitions/view.Relationship"
},
"lockdownId": {
"type": "integer"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"publicInfo": {
"type": "string"
},
"type": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "Activity",
"type": "object"
},
"billable.ProjectMetricBillable": {
"description": "ProjectMetricBillable contains all the information returned from a billable.",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "integer"
}
},
"title": "ProjectMetricBillable",
"type": "object"
},
"billable.ProjectMetricBillablesResponse": {
"description": "ProjectMetricBillablesResponse contains information about a group of billables.",
"properties": {
"data": {
"items": {
"$ref": "#/definitions/billable.ProjectMetricBillable"
},
"type": "array"
}
},
"title": "ProjectMetricBillablesResponse",
"type": "object"
},
"category.CategoriesResponse": {
"description": "CategoriesResponse contains information about a group of categories.",
"properties": {
"projectCategories": {
"items": {
"$ref": "#/definitions/view.ProjectCategory"
},
"type": "array"
},
"projectCategoryTotals": {
"$ref": "#/definitions/view.CategoryTotals"
}
},
"title": "CategoriesResponse",
"type": "object"
},
"comment.CommentsResponse": {
"description": "CommentsResponse contains information about a group of comments.",
"properties": {
"comments": {
"items": {
"$ref": "#/definitions/comment.FullComment"
},
"type": "array"
},
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"files": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectFileV205"
},
"type": "object"
},
"fileversions": {
"additionalProperties": {
"$ref": "#/definitions/view.FileversionV205"
},
"type": "object"
},
"links": {
"additionalProperties": {
"$ref": "#/definitions/view.LinkItem"
},
"type": "object"
},
"milestones": {
"additionalProperties": {
"$ref": "#/definitions/view.Milestone"
},
"type": "object"
},
"notebooks": {
"additionalProperties": {
"$ref": "#/definitions/view.Notebook"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "CommentsResponse",
"type": "object"
},
"comment.FullComment": {
"description": "FullComment contains the full information for a comment",
"properties": {
"body": {
"type": "string"
},
"commentLink": {
"type": "string"
},
"contentType": {
"type": "string"
},
"dateDeleted": {
"type": "string"
},
"dateLastEdited": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedBy": {
"type": "integer"
},
"deletedByUserId": {
"type": "integer"
},
"fileCount": {
"type": "integer"
},
"fileIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"files": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"htmlBody": {
"type": "string"
},
"id": {
"type": "integer"
},
"installation": {
"$ref": "#/definitions/view.Relationship"
},
"installationId": {
"type": "integer"
},
"isPrivate": {
"type": "integer"
},
"lastEditedBy": {
"type": "integer"
},
"lastEditedByUserId": {
"type": "integer"
},
"lockdownID": {
"type": "integer"
},
"meta": {
"$ref": "#/definitions/comment.Meta"
},
"object": {
"$ref": "#/definitions/view.Relationship"
},
"objectId": {
"type": "integer"
},
"objectType": {
"type": "string"
},
"peopleNotifiedCount": {
"type": "integer"
},
"postedBy": {
"type": "integer"
},
"postedByUserId": {
"type": "integer"
},
"postedDateTime": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"reactions": {
"items": {
"$ref": "#/definitions/view.Reaction"
},
"type": "array"
},
"reactionsCount": {
"type": "integer"
}
},
"title": "FullComment",
"type": "object"
},
"comment.Meta": {
"description": "Meta contains metadata for a comment, such as permissions",
"properties": {
"isRead": {
"type": "boolean"
},
"permissions": {
"$ref": "#/definitions/comment.Permissions"
}
},
"title": "Meta",
"type": "object"
},
"comment.Permissions": {
"description": "Permissions are the permissions the user has for the comment",
"properties": {
"canDelete": {
"type": "boolean"
},
"canEdit": {
"type": "boolean"
}
},
"title": "Permissions",
"type": "object"
},
"company.CompaniesResponse": {
"description": "CompaniesResponse contains information about a group of companies.",
"properties": {
"companies": {
"items": {
"$ref": "#/definitions/view.Company"
},
"type": "array"
},
"included": {
"properties": {
"countries": {
"additionalProperties": {
"$ref": "#/definitions/view.Country"
},
"type": "object"
},
"customfieldCompanies": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomFieldValueCompany"
},
"type": "object"
},
"customfields": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomField"
},
"type": "object"
},
"domains": {
"additionalProperties": {
"$ref": "#/definitions/view.CompanyDomain"
},
"type": "object"
},
"industries": {
"additionalProperties": {
"$ref": "#/definitions/view.Industry"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"updates": {
"additionalProperties": {
"$ref": "#/definitions/view.CompanyUpdate"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"letters": {
"items": {
"type": "string"
},
"type": "array"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "CompaniesResponse",
"type": "object"
},
"company.Company": {
"description": "Company contains all the information returned from a company.",
"properties": {
"addressOne": {
"type": "string"
},
"addressTwo": {
"type": "string"
},
"cid": {
"type": "string"
},
"city": {
"type": "string"
},
"clientManagedBy": {
"type": "integer"
},
"countrycode": {
"type": "string"
},
"customFields": {
"$ref": "#/definitions/company.CustomFields"
},
"emailOne": {
"type": "string"
},
"emailThree": {
"type": "string"
},
"emailTwo": {
"type": "string"
},
"fax": {
"type": "string"
},
"industryCatId": {
"type": "integer"
},
"logoPendingFileRef": {
"type": "string"
},
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"privateNotes": {
"type": "string"
},
"profile": {
"type": "string"
},
"state": {
"type": "string"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"website": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"title": "Company",
"type": "object"
},
"company.CustomFields": {
"description": "CustomFields is the custom fields type.",
"properties": {
"Values": {
"items": {
"$ref": "#/definitions/value.CustomFieldValue"
},
"type": "array"
}
},
"title": "CustomFields",
"type": "object"
},
"company.Request": {
"description": "Request contains information of a company to be created or updated.",
"properties": {
"company": {
"$ref": "#/definitions/company.Company"
},
"companyOptions": {
"properties": {
"fireWebhook": {
"type": "boolean"
},
"logActivity": {
"type": "boolean"
},
"useNotifyViaTWIM": {
"type": "boolean"
}
},
"type": "object"
},
"tags": {
"items": {
"$ref": "#/definitions/tag.Tag"
},
"type": "array"
}
},
"title": "Request",
"type": "object"
},
"company.Response": {
"description": "Response contains information about a specific company.",
"properties": {
"company": {
"$ref": "#/definitions/view.Company"
},
"included": {
"properties": {
"countries": {
"additionalProperties": {
"$ref": "#/definitions/view.Country"
},
"type": "object"
},
"customfieldCompanies": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomFieldValueCompany"
},
"type": "object"
},
"customfields": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomField"
},
"type": "object"
},
"domains": {
"additionalProperties": {
"$ref": "#/definitions/view.CompanyDomain"
},
"type": "object"
},
"industries": {
"additionalProperties": {
"$ref": "#/definitions/view.Industry"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"updates": {
"additionalProperties": {
"$ref": "#/definitions/view.CompanyUpdate"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
}
},
"title": "Response",
"type": "object"
},
"companydomain.BulkRequest": {
"description": "BulkRequest contains information of a company domains to be created.",
"properties": {
"companyDomains": {
"items": {
"$ref": "#/definitions/companydomain.Domain"
},
"type": "array"
}
},
"title": "BulkRequest",
"type": "object"
},
"companydomain.Domain": {
"description": "Domain contains all the information returned from a domain.",
"properties": {
"companyId": {
"type": "integer"
},
"domain": {
"type": "string"
}
},
"title": "Domain",
"type": "object"
},
"companydomain.Request": {
"description": "Request contains information of a company domains to be updated.",
"properties": {
"companyDomain": {
"$ref": "#/definitions/companydomain.Domain"
}
},
"title": "Request",
"type": "object"
},
"complete.Response": {
"description": "Response contains information about a specific complete.",
"properties": {
"data": {
"$ref": "#/definitions/complete.TaskMetricComplete"
}
},
"title": "Response",
"type": "object"
},
"complete.TaskMetricComplete": {
"description": "TaskMetricComplete contains all the information returned from a complete.",
"properties": {
"value": {
"type": "integer"
}
},
"title": "TaskMetricComplete",
"type": "object"
},
"customfield.BulkDeleteRequest": {
"description": "BulkDeleteRequest contains the ids of the custom fields that should be\nremoved.",
"properties": {
"customfieldIds": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "BulkDeleteRequest",
"type": "object"
},
"customfield.CustomField": {
"description": "CustomField contains all the information returned from a custom field.",
"properties": {
"currencyCode": {
"type": "string"
},
"description": {
"type": "string"
},
"entity": {
"enum": [
"project",
"task",
"company",
"cr-project",
"cr-task"
],
"type": "string"
},
"formula": {
"type": "string"
},
"groupId": {
"type": "integer"
},
"isPrivate": {
"type": "boolean"
},
"name": {
"type": "string"
},
"options": {},
"privacy": {
"$ref": "#/definitions/payload.UserGroups"
},
"projectId": {
"type": "integer"
},
"required": {
"type": "boolean"
},
"type": {
"type": "string"
},
"unitId": {
"type": "integer"
},
"visibilities": {
"items": {
"type": "string"
},
"type": "array"
}
},
"title": "CustomField",
"type": "object"
},
"customfield.CustomFieldsResponse": {
"description": "CustomFieldsResponse contains information about a group of custom fields.",
"properties": {
"customfields": {
"items": {
"$ref": "#/definitions/view.CustomField"
},
"type": "array"
},
"included": {
"properties": {
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "CustomFieldsResponse",
"type": "object"
},
"customfield.Request": {
"description": "Request contains information of a custom field to be created or updated.",
"properties": {
"customfield": {
"$ref": "#/definitions/customfield.CustomField"
}
},
"title": "Request",
"type": "object"
},
"customfield.Response": {
"description": "Response contains information about a specific customfield.",
"properties": {
"count": {
"type": "integer"
},
"customfield": {
"$ref": "#/definitions/view.CustomField"
}
},
"title": "Response",
"type": "object"
},
"dashboard.UserDashboardsResponse": {
"description": "UserDashboardsResponse contains information about a group of dashboards.",
"properties": {
"dashboards": {
"items": {
"$ref": "#/definitions/view.UserDashboard"
},
"type": "array"
},
"included": {
"properties": {
"dashboardPanelSettings": {
"additionalProperties": {
"$ref": "#/definitions/view.UserDashboardPanelSetting"
},
"type": "object"
},
"dashboardPanels": {
"additionalProperties": {
"$ref": "#/definitions/view.UserDashboardPanel"
},
"type": "object"
},
"dashboardSettings": {
"additionalProperties": {
"$ref": "#/definitions/view.UserDashboardSetting"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "UserDashboardsResponse",
"type": "object"
},
"deadline.MilestoneMetricDeadline": {
"description": "MilestoneMetricDeadline contains all the information returned from a deadline.",
"properties": {
"date": {
"type": "string"
},
"value": {
"type": "integer"
}
},
"title": "MilestoneMetricDeadline",
"type": "object"
},
"deadline.MilestoneMetricDeadlinesResponse": {
"description": "MilestoneMetricDeadlinesResponse contains information about a group of deadlines.",
"properties": {
"data": {
"items": {
"$ref": "#/definitions/deadline.MilestoneMetricDeadline"
},
"type": "array"
}
},
"title": "MilestoneMetricDeadlinesResponse",
"type": "object"
},
"domain.BulkResponse": {
"description": "BulkResponse contains information about a group of domains.",
"properties": {
"domains": {
"items": {
"$ref": "#/definitions/view.CompanyDomain"
},
"type": "array"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "BulkResponse",
"type": "object"
},
"domain.Response": {
"description": "Response contains information about a specific domain.",
"properties": {
"domain": {
"$ref": "#/definitions/view.CompanyDomain"
}
},
"title": "Response",
"type": "object"
},
"entity.ProjectBudgetRange": {
"description": "ProjectBudgetRange is a distribution item type.\nFrom and To are percentage ranges",
"properties": {
"color": {
"description": "Color is used to render background in report exports",
"type": "string"
},
"companyId": {
"type": "integer"
},
"count": {
"type": "integer"
},
"from": {
"type": "integer"
},
"to": {
"type": "integer"
}
},
"title": "ProjectBudgetRange",
"type": "object"
},
"form.Banner": {
"description": "Banner contains information of a form banner to be created or updated.",
"properties": {
"primaryColor": {
"type": "string"
},
"url": {
"type": "string"
},
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"title": "Banner",
"type": "object"
},
"form.Content": {
"description": "Content contains information of a form content to be created or updated.",
"properties": {
"banner": {
"$ref": "#/definitions/form.Banner"
},
"definition": {
"type": "string"
},
"description": {
"type": "string"
},
"logo": {
"$ref": "#/definitions/form.Logo"
},
"name": {
"type": "string"
},
"pendingBannerId": {
"type": "string"
},
"pendingLogoId": {
"type": "string"
},
"state": {
"type": "string"
}
},
"title": "Content",
"type": "object"
},
"form.CopyForm": {
"description": "CopyForm contains information on where and what to copy from a form",
"properties": {
"copyAssignees": {
"type": "boolean"
},
"generateToken": {
"type": "boolean"
},
"hostObject": {
"$ref": "#/definitions/form.HostObject"
},
"projectIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"title": "CopyForm",
"type": "object"
},
"form.CopyRequest": {
"description": "CopyRequest outter request for copying a form",
"properties": {
"form": {
"$ref": "#/definitions/form.CopyForm"
}
},
"title": "CopyRequest",
"type": "object"
},
"form.DestinationObject": {
"description": "DestinationObject contains information of a form destination object to be created or updated.",
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"title": "DestinationObject",
"type": "object"
},
"form.Form": {
"description": "Form contains information of a form to be created or updated.",
"properties": {
"allowTeamworkBranding": {
"type": "boolean"
},
"backgroundColor": {
"type": "string"
},
"confirmationMessage": {
"type": "string"
},
"content": {
"$ref": "#/definitions/form.Content"
},
"createFormTask": {
"type": "boolean"
},
"destinationObject": {
"$ref": "#/definitions/form.DestinationObject"
},
"hostObject": {
"$ref": "#/definitions/form.HostObject"
},
"primaryColor": {
"type": "string"
},
"promptAdditionalSubmissions": {
"type": "boolean"
},
"redirectUrl": {
"type": "string"
},
"responseEmailFieldId": {
"type": "string"
},
"showProgressBar": {
"type": "boolean"
},
"submitButtonText": {
"type": "string"
},
"taskTitleFieldId": {
"type": "string"
}
},
"title": "Form",
"type": "object"
},
"form.FormsResponse": {
"description": "FormsResponse contains information about a group of forms.",
"properties": {
"forms": {
"items": {
"$ref": "#/definitions/view.Form"
},
"type": "array"
},
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "FormsResponse",
"type": "object"
},
"form.HostObject": {
"description": "HostObject contains information of a form host object to be created or updated.",
"properties": {
"id": {
"type": "integer"
},
"meta": {
"$ref": "#/definitions/form.HostObjectMeta"
},
"type": {
"type": "string"
}
},
"title": "HostObject",
"type": "object"
},
"form.HostObjectMeta": {
"description": "HostObjectMeta contains information of a form host object meta to be created or updated.",
"properties": {
"tasklistId": {
"type": "integer"
}
},
"title": "HostObjectMeta",
"type": "object"
},
"form.Logo": {
"description": "Logo contains information of a form custom logo to be created or updated.",
"properties": {
"url": {
"type": "string"
}
},
"title": "Logo",
"type": "object"
},
"form.PublicResponse": {
"description": "PublicResponse contains information about a specific public form.",
"properties": {
"form": {
"$ref": "#/definitions/view.PublicForm"
}
},
"title": "PublicResponse",
"type": "object"
},
"form.Request": {
"description": "Request contains information of a form to be created or updated.",
"properties": {
"form": {
"$ref": "#/definitions/form.Form"
}
},
"title": "Request",
"type": "object"
},
"form.Response": {
"description": "Response contains information about a specific form.",
"properties": {
"form": {
"$ref": "#/definitions/view.Form"
},
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
}
},
"title": "Response",
"type": "object"
},
"health.ProjectMetricHealth": {
"description": "ProjectMetricHealth stores a specific health counter.",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "integer"
}
},
"title": "ProjectMetricHealth",
"type": "object"
},
"health.ProjectMetricHealthsResponse": {
"description": "ProjectMetricHealthsResponse contains information about a group of healths.\nFollowing this format to satisfy the Numerics integration.",
"properties": {
"data": {
"items": {
"$ref": "#/definitions/health.ProjectMetricHealth"
},
"type": "array"
}
},
"title": "ProjectMetricHealthsResponse",
"type": "object"
},
"importer.Importer": {
"description": "Importer single importer for response.",
"properties": {
"name": {
"type": "string"
},
"running": {
"type": "boolean"
},
"status": {
"type": "string"
}
},
"title": "Importer",
"type": "object"
},
"importer.ImportersResponse": {
"description": "ImportersResponse contains information about a group of importers.",
"properties": {
"importers": {
"items": {
"$ref": "#/definitions/importer.Importer"
},
"type": "array"
},
"isImporting": {
"type": "boolean"
}
},
"title": "ImportersResponse",
"type": "object"
},
"invoice.ProjectMetricInvoicesResponse": {
"description": "ProjectMetricInvoicesResponse contains information about a group of invoices.",
"properties": {
"data": {
"properties": {
"value": {
"type": "integer"
}
},
"type": "object"
}
},
"title": "ProjectMetricInvoicesResponse",
"type": "object"
},
"late.Response": {
"description": "Response contains the count of late tasks.\nFollowing this format to satisfy the Numerics integration.",
"properties": {
"data": {
"$ref": "#/definitions/late.TaskMetricLate"
}
},
"title": "Response",
"type": "object"
},
"late.TaskMetricLate": {
"description": "TaskMetricLate contains count information about late tasks.",
"properties": {
"value": {
"type": "integer"
}
},
"title": "TaskMetricLate",
"type": "object"
},
"message.MessagesResponse": {
"description": "MessagesResponse contains all the information returned when sending a GET\nrequest to the message endpoint.",
"properties": {
"included": {
"properties": {
"Included": {
"$ref": "#/definitions/messagereply.Included"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"messageReplies": {
"additionalProperties": {
"$ref": "#/definitions/view.MessageReply"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"messages": {
"items": {
"$ref": "#/definitions/view.Message"
},
"type": "array"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "MessagesResponse",
"type": "object"
},
"message.Request": {
"description": "Request contains information of a message to be created or updated.",
"properties": {
"read": {
"type": "boolean"
}
},
"title": "Request",
"type": "object"
},
"message.Response": {
"description": "Response contains information about a specific message.",
"properties": {
"included": {
"properties": {
"Included": {
"$ref": "#/definitions/messagereply.Included"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"messageReplies": {
"additionalProperties": {
"$ref": "#/definitions/view.MessageReply"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"message": {
"$ref": "#/definitions/view.Message"
}
},
"title": "Response",
"type": "object"
},
"messagereply.Included": {
"description": "Included contains sideloadable stuff for message replies.",
"properties": {
"messages": {
"additionalProperties": {
"$ref": "#/definitions/view.Message"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"title": "Included",
"type": "object"
},
"milestone.MilestonesResponse": {
"description": "MilestonesResponse contains information about a group of milestones.",
"properties": {
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"projectCategories": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectCategory"
},
"type": "object"
},
"projectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"tasklistTaskStats": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskStats"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"milestones": {
"items": {
"$ref": "#/definitions/view.Milestone"
},
"type": "array"
}
},
"title": "MilestonesResponse",
"type": "object"
},
"milestone.Response": {
"description": "Response contains information about a milestone.",
"properties": {
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"projectCategories": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectCategory"
},
"type": "object"
},
"projectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"tasklistTaskStats": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskStats"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"milestone": {
"$ref": "#/definitions/view.Milestone"
}
},
"title": "Response",
"type": "object"
},
"notebook.Notebook": {
"description": "Notebook contains all the information returned from a notebook.",
"properties": {
"categoryId": {
"type": "integer"
},
"contents": {
"type": "string"
},
"description": {
"type": "string"
},
"isFullWidth": {
"type": "boolean"
},
"isPrivate": {
"type": "boolean"
},
"locked": {
"type": "boolean"
},
"name": {
"type": "string"
},
"newVersion": {
"type": "boolean"
},
"notify": {
"$ref": "#/definitions/payload.Notify"
},
"notifyCurrentUser": {
"type": "boolean"
},
"privacy": {
"$ref": "#/definitions/payload.UserGroups"
},
"secureContent": {
"type": "boolean"
},
"sendDiff": {
"type": "boolean"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"type": {
"type": "string"
}
},
"title": "Notebook",
"type": "object"
},
"notebook.NotebooksResponse": {
"description": "NotebooksResponse contains information about a group of notebooks.",
"properties": {
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"notebookCategories": {
"additionalProperties": {
"$ref": "#/definitions/view.NotebookCategory"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"notebooks": {
"items": {
"$ref": "#/definitions/view.Notebook"
},
"type": "array"
}
},
"title": "NotebooksResponse",
"type": "object"
},
"notebook.Request": {
"description": "Request contains information of a notebook to be created or updated.",
"properties": {
"notebook": {
"$ref": "#/definitions/notebook.Notebook"
}
},
"title": "Request",
"type": "object"
},
"notebook.Response": {
"description": "Response contains information about a specific notebook.",
"properties": {
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"notebookCategories": {
"additionalProperties": {
"$ref": "#/definitions/view.NotebookCategory"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"notebook": {
"$ref": "#/definitions/view.Notebook"
}
},
"title": "Response",
"type": "object"
},
"notebook.VersionResponse": {
"description": "VersionResponse contains information about a specifc notebook version",
"properties": {
"included": {
"properties": {
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"version": {
"$ref": "#/definitions/view.NotebookVersion"
}
},
"title": "VersionResponse",
"type": "object"
},
"notebook.VersionsResponse": {
"description": "VersionsResponse contains information about a group of notebook versions",
"properties": {
"included": {
"properties": {
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"versions": {
"items": {
"$ref": "#/definitions/view.NotebookVersion"
},
"type": "array"
}
},
"title": "VersionsResponse",
"type": "object"
},
"notification.ProjectBudgetNotification": {
"description": "ProjectBudgetNotification contains all the information returned from a notification.",
"properties": {
"budgetId": {
"type": "integer"
},
"capacityThreshold": {
"type": "number"
},
"companyIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"id": {
"type": "integer"
},
"notificationMedium": {
"type": "string"
},
"projectId": {
"type": "integer"
},
"teamIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"userIds": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "ProjectBudgetNotification",
"type": "object"
},
"notification.ProjectBudgetRequest": {
"description": "ProjectBudgetRequest contains information of a notification to be created or updated.",
"properties": {
"notification": {
"$ref": "#/definitions/notification.ProjectBudgetNotification"
}
},
"title": "ProjectBudgetRequest",
"type": "object"
},
"notification.Response": {
"description": "Response contains information about a specific notification.",
"properties": {
"notification": {
"$ref": "#/definitions/view.Notification"
}
},
"title": "Response",
"type": "object"
},
"owner.ProjectMetricOwner": {
"description": "ProjectMetricOwner contains information about a specific owner.",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "integer"
}
},
"title": "ProjectMetricOwner",
"type": "object"
},
"owner.ProjectMetricOwnersResponse": {
"description": "ProjectMetricOwnersResponse contains information about a group of owners.",
"properties": {
"data": {
"items": {
"$ref": "#/definitions/owner.ProjectMetricOwner"
},
"type": "array"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "ProjectMetricOwnersResponse",
"type": "object"
},
"payload.Date": {
"description": "Date unmarshals represents a Unified API Spec date format.",
"title": "Date",
"type": "object"
},
"payload.Notify": {
"description": "Notify defines the access lists.",
"properties": {
"ids": {
"$ref": "#/definitions/payload.UserGroups"
},
"type": {
"$ref": "#/definitions/payload.NotifyType"
}
},
"title": "Notify",
"type": "object"
},
"payload.NotifyType": {
"description": "NotifyType implements json.Unmarshaler to allow testing between a value\nthat explicitly set to null or omitted.",
"properties": {
"Null": {
"type": "boolean"
},
"Set": {
"type": "boolean"
},
"Value": {
"type": "string"
}
},
"title": "NotifyType",
"type": "object"
},
"payload.NullableDate": {
"description": "NullableDate implements json.Unmarshaler to allow testing between a value\nthat explicitly set to null or omitted.\nDate format \"2006-01-02\"",
"properties": {
"Null": {
"type": "boolean"
},
"Set": {
"type": "boolean"
},
"Value": {
"$ref": "#/definitions/payload.Date"
}
},
"title": "NullableDate",
"type": "object"
},
"payload.NullableInt64Slice": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a\nvalue that explicitly set to null or omitted.",
"properties": {
"Null": {
"type": "boolean"
},
"Set": {
"type": "boolean"
},
"Value": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "NullableInt64Slice",
"type": "object"
},
"payload.NullableTaskPriority": {
"description": "NullableTaskPriority implements json.Unmarshaler to allow testing\nbetween a value that explicitly set to null or omitted.",
"properties": {
"Null": {
"type": "boolean"
},
"Set": {
"type": "boolean"
},
"Value": {
"type": "string"
}
},
"title": "NullableTaskPriority",
"type": "object"
},
"payload.NullableTaskRepeatFrequency": {
"description": "NullableTaskRepeatFrequency implements json.Unmarshaler to allow testing\nbetween a value that explicitly set to null or omitted.",
"properties": {
"Null": {
"type": "boolean"
},
"Set": {
"type": "boolean"
},
"Value": {
"type": "string"
}
},
"title": "NullableTaskRepeatFrequency",
"type": "object"
},
"payload.NullableTaskRepeatMonthlyType": {
"description": "NullableTaskRepeatMonthlyType implements json.Unmarshaler to allow testing\nbetween a value that explicitly set to null or omitted.",
"properties": {
"Null": {
"type": "boolean"
},
"Set": {
"type": "boolean"
},
"Value": {
"type": "string"
}
},
"title": "NullableTaskRepeatMonthlyType",
"type": "object"
},
"payload.NullableWorkingHourEntryWeekdays": {
"description": "NullableWorkingHourEntryWeekdays implements json.Unmarshaler to allow testing\nbetween a value that explicitly set to null or omitted.",
"properties": {
"Null": {
"type": "boolean"
},
"Set": {
"type": "boolean"
},
"Value": {
"items": {
"type": "string"
},
"type": "array"
}
},
"title": "NullableWorkingHourEntryWeekdays",
"type": "object"
},
"payload.Time": {
"description": "Time unmarshals represents a Unified API Spec date format.",
"title": "Time",
"type": "object"
},
"payload.UserGroups": {
"description": "UserGroups are common lists for storing users, companies and teams ids\ntogether.",
"properties": {
"companyIds": {
"$ref": "#/definitions/payload.NullableInt64Slice"
},
"teamIds": {
"$ref": "#/definitions/payload.NullableInt64Slice"
},
"userIds": {
"$ref": "#/definitions/payload.NullableInt64Slice"
}
},
"title": "UserGroups",
"type": "object"
},
"people.AddPeopleToProjectResponse": {
"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",
"properties": {
"info": {
"items": {
"type": "string"
},
"type": "array"
},
"teamIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"usersAdded": {
"items": {
"type": "integer"
},
"type": "array"
},
"usersAlreadyInProject": {
"items": {
"type": "integer"
},
"type": "array"
},
"usersNotAdded": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "AddPeopleToProjectResponse",
"type": "object"
},
"people.MultiResponse": {
"description": "MultiResponse contains information about a group of users.",
"properties": {
"included": {
"properties": {
"ProjectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"jobRoles": {
"additionalProperties": {
"$ref": "#/definitions/view.JobRole"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"workingHours": {
"additionalProperties": {
"$ref": "#/definitions/view.WorkingHour"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"people": {
"items": {
"$ref": "#/definitions/view.User"
},
"type": "array"
}
},
"title": "MultiResponse",
"type": "object"
},
"people.Response": {
"description": "Response contains information about a user.",
"properties": {
"included": {
"properties": {
"ProjectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"jobRoles": {
"additionalProperties": {
"$ref": "#/definitions/view.JobRole"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"workingHours": {
"additionalProperties": {
"$ref": "#/definitions/view.WorkingHour"
},
"type": "object"
}
},
"type": "object"
},
"person": {
"$ref": "#/definitions/view.User"
}
},
"title": "Response",
"type": "object"
},
"people.TaskCompletion": {
"description": "TaskCompletion contains information about tasks completed by a user.",
"properties": {
"activeProjects": {
"type": "integer"
},
"assignedTasks": {
"type": "integer"
},
"completedTasks": {
"type": "integer"
},
"overdueTasks": {
"type": "integer"
},
"projects": {
"type": "integer"
},
"userId": {
"type": "integer"
}
},
"title": "TaskCompletion",
"type": "object"
},
"people.TaskCompletionResponse": {
"description": "TaskCompletionResponse contains information about tasks completed by a user.",
"properties": {
"included": {
"properties": {
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"taskCompletions": {
"$ref": "#/definitions/people.TaskCompletions"
}
},
"title": "TaskCompletionResponse",
"type": "object"
},
"people.TaskCompletions": {
"description": "TaskCompletions represents a summary row of total computed counts of, plus individual user data\n/reporting/precanned/usertaskcompletions.json endpoint",
"properties": {
"totalActiveProjects": {
"type": "integer"
},
"totalAssignedTasks": {
"type": "integer"
},
"totalCompletedTasks": {
"type": "integer"
},
"totalOverdueTasks": {
"type": "integer"
},
"totalProjects": {
"type": "integer"
},
"users": {
"items": {
"$ref": "#/definitions/people.TaskCompletion"
},
"type": "array"
}
},
"title": "TaskCompletions",
"type": "object"
},
"people.UsersPayload": {
"description": "UsersPayload consists of userIDs",
"properties": {
"checkTeamIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"userIds": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "UsersPayload",
"type": "object"
},
"performance.PeopleMetricPerformance": {
"description": "PeopleMetricPerformance contains all the information returned from a performance.",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "integer"
}
},
"title": "PeopleMetricPerformance",
"type": "object"
},
"performance.PeopleMetricPerformancesResponse": {
"description": "PeopleMetricPerformancesResponse contains information about a group of performances.",
"properties": {
"data": {
"items": {
"$ref": "#/definitions/performance.PeopleMetricPerformance"
},
"type": "array"
}
},
"title": "PeopleMetricPerformancesResponse",
"type": "object"
},
"planner.WorkloadPlanner": {
"description": "WorkloadPlanner contains all the information returned from a planner.",
"properties": {
"capacities": {
"additionalProperties": {
"$ref": "#/definitions/planner.WorkloadPlannerCapacity"
},
"type": "object"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "WorkloadPlanner",
"type": "object"
},
"planner.WorkloadPlannerCapacity": {
"description": "WorkloadPlannerCapacity contains the information regarding an user on a\nspecific date.",
"properties": {
"capacity": {
"description": "percentage",
"type": "number"
},
"estimateMinutesTotal": {
"type": "number"
},
"lengthOfDayMinutes": {
"type": "number"
},
"tasks": {
"items": {
"$ref": "#/definitions/planner.WorkloadPlannerCapacityTask"
},
"type": "array"
}
},
"title": "WorkloadPlannerCapacity",
"type": "object"
},
"planner.WorkloadPlannerCapacityTask": {
"description": "WorkloadPlannerCapacityTask provides how many minutes should a user work in a\ntask for a specific date.",
"properties": {
"estimateMinutes": {
"type": "number"
},
"taskId": {
"type": "integer"
}
},
"title": "WorkloadPlannerCapacityTask",
"type": "object"
},
"planner.WorkloadPlannersResponse": {
"description": "WorkloadPlannersResponse contains information about a group of planners.",
"properties": {
"included": {
"properties": {
"calendarEvents": {
"additionalProperties": {
"$ref": "#/definitions/view.LegacyCalendarEvent"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"milestones": {
"additionalProperties": {
"$ref": "#/definitions/view.Milestone"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"timelogs": {
"additionalProperties": {
"$ref": "#/definitions/view.Timelog"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
},
"workingHourEntries": {
"additionalProperties": {
"$ref": "#/definitions/view.WorkingHourEntry"
},
"type": "object"
},
"workingHours": {
"additionalProperties": {
"$ref": "#/definitions/view.WorkingHour"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"planners": {
"items": {
"$ref": "#/definitions/planner.WorkloadPlanner"
},
"type": "array"
}
},
"title": "WorkloadPlannersResponse",
"type": "object"
},
"priceplan.FeaturesResponse": {
"description": "FeaturesResponse contains all the information returned when sending a GET\nrequest to the features endpoint.",
"properties": {
"features": {
"items": {
"$ref": "#/definitions/view.Feature"
},
"type": "array"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "FeaturesResponse",
"type": "object"
},
"project.FeatureOrder": {
"description": "FeatureOrder contains the information of the feature\norder to display in the UI for a project.",
"properties": {
"billing": {
"type": "integer"
},
"board": {
"type": "integer"
},
"comments": {
"type": "integer"
},
"dashboard": {
"type": "integer"
},
"files": {
"type": "integer"
},
"finance": {
"type": "integer"
},
"forms": {
"type": "integer"
},
"gantt": {
"type": "integer"
},
"id": {
"type": "integer"
},
"installationId": {
"type": "integer"
},
"links": {
"type": "integer"
},
"list": {
"type": "integer"
},
"messages": {
"type": "integer"
},
"milestones": {
"type": "integer"
},
"notebooks": {
"type": "integer"
},
"numVisibleTabs": {
"type": "integer"
},
"people": {
"type": "integer"
},
"projectId": {
"type": "integer"
},
"proofs": {
"type": "integer"
},
"risks": {
"type": "integer"
},
"settings": {
"type": "integer"
},
"table": {
"type": "integer"
},
"tickets": {
"type": "integer"
},
"time": {
"type": "integer"
}
},
"title": "FeatureOrder",
"type": "object"
},
"project.FeatureOrderDefaults": {
"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",
"properties": {
"billing": {
"type": "integer"
},
"board": {
"type": "integer"
},
"comments": {
"type": "integer"
},
"dashboard": {
"type": "integer"
},
"files": {
"type": "integer"
},
"finance": {
"type": "integer"
},
"forms": {
"type": "integer"
},
"gantt": {
"type": "integer"
},
"links": {
"type": "integer"
},
"list": {
"type": "integer"
},
"messages": {
"type": "integer"
},
"milestones": {
"type": "integer"
},
"notebooks": {
"type": "integer"
},
"numVisibleTabs": {
"type": "integer"
},
"people": {
"type": "integer"
},
"proofs": {
"type": "integer"
},
"risks": {
"type": "integer"
},
"settings": {
"type": "integer"
},
"table": {
"type": "integer"
},
"tickets": {
"type": "integer"
},
"time": {
"type": "integer"
}
},
"title": "FeatureOrderDefaults",
"type": "object"
},
"project.FeatureOrderRequest": {
"description": "FeatureOrderRequest is the payload used to set\nthe project features order as we want to appear\nin the UI tabs selection",
"properties": {
"featureOrder": {
"$ref": "#/definitions/project.FeatureOrder"
},
"featureOrderOptions": {
"properties": {
"useNotifyViaTWIM": {
"type": "boolean"
}
},
"type": "object"
}
},
"title": "FeatureOrderRequest",
"type": "object"
},
"project.FeatureOrderResponse": {
"description": "FeatureOrderResponse is the api response containing\ninformation about the order to display the featues in the UI.",
"properties": {
"featureOrder": {
"$ref": "#/definitions/project.FeatureOrder"
}
},
"title": "FeatureOrderResponse",
"type": "object"
},
"project.Included": {
"description": "Included is the task sideloads",
"properties": {
"activities": {
"additionalProperties": {
"$ref": "#/definitions/view.ActivityLog"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"countries": {
"additionalProperties": {
"$ref": "#/definitions/view.Country"
},
"type": "object"
},
"customfieldProjects": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomFieldValueProject"
},
"type": "object"
},
"customfields": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomField"
},
"type": "object"
},
"industries": {
"additionalProperties": {
"$ref": "#/definitions/view.Industry"
},
"type": "object"
},
"portfolioBoards": {
"additionalProperties": {
"$ref": "#/definitions/view.PortfolioBoard"
},
"type": "object"
},
"portfolioCards": {
"additionalProperties": {
"$ref": "#/definitions/view.PortfolioCard"
},
"type": "object"
},
"portfolioColumns": {
"additionalProperties": {
"$ref": "#/definitions/view.PortfolioColumn"
},
"type": "object"
},
"projectBudgets": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectBudget"
},
"type": "object"
},
"projectCategories": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectCategory"
},
"type": "object"
},
"projectEmailDropboxes": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectEmailDropbox"
},
"type": "object"
},
"projectTaskStats": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskStats"
},
"type": "object"
},
"projectUpdates": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectUpdate"
},
"type": "object"
},
"stages": {
"additionalProperties": {
"$ref": "#/definitions/view.Stage"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
},
"workflows": {
"additionalProperties": {
"$ref": "#/definitions/view.Workflow"
},
"type": "object"
}
},
"title": "Included",
"type": "object"
},
"project.SampleProjectsResponse": {
"description": "SampleProjectsResponse contains information about a group of sample projects.",
"properties": {
"included": {
"properties": {
"projectCategories": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectCategory"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"projects": {
"items": {
"$ref": "#/definitions/view.SampleProject"
},
"type": "array"
}
},
"title": "SampleProjectsResponse",
"type": "object"
},
"project.projectsResponseV205": {
"description": "projectsResponseV205 contains information about a group of projects.",
"properties": {
"included": {
"$ref": "#/definitions/project.Included"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"projects": {
"items": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "array"
}
},
"title": "projectsResponseV205",
"type": "object"
},
"project.responseV205": {
"description": "responseV205 contains information about a project.",
"properties": {
"included": {
"$ref": "#/definitions/project.Included"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"project": {
"$ref": "#/definitions/view.ProjectV205"
}
},
"title": "responseV205",
"type": "object"
},
"risk.RisksResponse": {
"description": "RisksResponse contains all the information returned when sending a GET\nrequest to the risk endpoint.",
"properties": {
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"risks": {
"items": {
"$ref": "#/definitions/view.Risk"
},
"type": "array"
}
},
"title": "RisksResponse",
"type": "object"
},
"status.TimelineResponse": {
"description": "TimelineResponse contains information about a group of statuses.",
"properties": {
"included": {
"properties": {
"userEvents": {
"additionalProperties": {
"$ref": "#/definitions/view.UserEvents"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"statuses": {
"items": {
"$ref": "#/definitions/view.Status"
},
"type": "array"
}
},
"title": "TimelineResponse",
"type": "object"
},
"summary.ColumnCardResponse": {
"description": "ColumnCardResponse contains counters from column's cards.",
"properties": {
"active": {
"type": "integer"
},
"archived": {
"type": "integer"
},
"completed": {
"type": "integer"
},
"count": {
"type": "integer"
}
},
"title": "ColumnCardResponse",
"type": "object"
},
"summary.ColumnDataResponse": {
"description": "ColumnDataResponse contains information of a specific column.",
"properties": {
"cards": {
"$ref": "#/definitions/summary.ColumnCardResponse"
},
"color": {
"type": "string"
},
"estimatedTime": {
"$ref": "#/definitions/summary.ColumnEstimatedResponse"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"title": "ColumnDataResponse",
"type": "object"
},
"summary.ColumnEstimatedResponse": {
"description": "ColumnEstimatedResponse contains estimated counters about the\ncolumns's state.",
"properties": {
"active": {
"type": "integer"
},
"archived": {
"type": "integer"
},
"completed": {
"type": "integer"
},
"total": {
"type": "integer"
}
},
"title": "ColumnEstimatedResponse",
"type": "object"
},
"summary.ColumnResponse": {
"description": "ColumnResponse contains counters for columns.",
"properties": {
"count": {
"type": "integer"
},
"data": {
"items": {
"$ref": "#/definitions/summary.ColumnDataResponse"
},
"type": "array"
}
},
"title": "ColumnResponse",
"type": "object"
},
"summary.EventResponse": {
"description": "EventResponse contains counters for events.",
"properties": {
"today": {
"type": "integer"
},
"upcoming": {
"type": "integer"
}
},
"title": "EventResponse",
"type": "object"
},
"summary.HealthResponse": {
"description": "HealthResponse contains counters for health.",
"properties": {
"0": {
"type": "integer"
},
"1": {
"type": "integer"
},
"2": {
"type": "integer"
},
"3": {
"type": "integer"
}
},
"title": "HealthResponse",
"type": "object"
},
"summary.MilestoneCountsResponse": {
"description": "MilestoneCountsResponse contains counters for milestones.",
"properties": {
"active": {
"type": "integer"
},
"complete": {
"type": "integer"
},
"late": {
"type": "integer"
},
"today": {
"type": "integer"
},
"upcoming": {
"type": "integer"
}
},
"title": "MilestoneCountsResponse",
"type": "object"
},
"summary.MilestoneResponse": {
"description": "MilestoneResponse contains groups of counter for milestones.",
"properties": {
"everyone": {
"$ref": "#/definitions/summary.MilestoneCountsResponse"
},
"mine": {
"$ref": "#/definitions/summary.MilestoneCountsResponse"
}
},
"title": "MilestoneResponse",
"type": "object"
},
"summary.ProjectResponse": {
"description": "ProjectResponse contains all the information returned when sending\na GET request to the summary endpoint (project).",
"properties": {
"columns": {
"$ref": "#/definitions/summary.ColumnResponse"
},
"events": {
"$ref": "#/definitions/summary.EventResponse"
},
"health": {
"$ref": "#/definitions/summary.HealthResponse"
},
"milestones": {
"$ref": "#/definitions/summary.MilestoneResponse"
},
"risks": {
"$ref": "#/definitions/summary.RiskResponse"
},
"since": {
"$ref": "#/definitions/summary.SinceResponse"
},
"stages": {
"$ref": "#/definitions/summary.StageResponse"
},
"tasks": {
"$ref": "#/definitions/summary.ProjectTasksResponse"
},
"time": {
"$ref": "#/definitions/summary.TimeResponse"
},
"unread": {
"$ref": "#/definitions/summary.UnreadResponse"
}
},
"title": "ProjectResponse",
"type": "object"
},
"summary.ProjectTasksResponse": {
"description": "ProjectTasksResponse contains groups of counters tasks.",
"properties": {
"everyone": {
"$ref": "#/definitions/summary.TaskResponse"
},
"mine": {
"$ref": "#/definitions/summary.TaskResponse"
},
"user": {
"$ref": "#/definitions/summary.TaskResponse"
}
},
"title": "ProjectTasksResponse",
"type": "object"
},
"summary.Response": {
"description": "Response contains all the information returned when sending a GET\nrequest to the summary endpoint (dashboard).",
"properties": {
"columns": {
"$ref": "#/definitions/summary.ColumnResponse"
},
"events": {
"$ref": "#/definitions/summary.EventResponse"
},
"health": {
"$ref": "#/definitions/summary.HealthResponse"
},
"milestones": {
"$ref": "#/definitions/summary.MilestoneCountsResponse"
},
"risks": {
"$ref": "#/definitions/summary.RiskResponse"
},
"since": {
"$ref": "#/definitions/summary.SinceResponse"
},
"tasks": {
"$ref": "#/definitions/summary.TaskResponse"
},
"time": {
"$ref": "#/definitions/summary.TimeCounterResponse"
},
"unread": {
"$ref": "#/definitions/summary.UnreadResponse"
}
},
"title": "Response",
"type": "object"
},
"summary.RiskResponse": {
"description": "RiskResponse contains counters for risks.",
"properties": {
"closed": {
"type": "integer"
},
"open": {
"type": "integer"
},
"pending": {
"type": "integer"
},
"total": {
"type": "integer"
}
},
"title": "RiskResponse",
"type": "object"
},
"summary.SinceResponse": {
"description": "SinceResponse contains counters for since.",
"properties": {
"dateTime": {
"type": "string"
},
"events": {
"type": "integer"
},
"tasksComplete": {
"type": "integer"
},
"tasksCreated": {
"type": "integer"
}
},
"title": "SinceResponse",
"type": "object"
},
"summary.StageDataResponse": {
"description": "StageDataResponse contains information of a specific stage.",
"properties": {
"color": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"tasks": {
"$ref": "#/definitions/summary.StageTaskResponse"
}
},
"title": "StageDataResponse",
"type": "object"
},
"summary.StageResponse": {
"description": "StageResponse contains counters for columns.",
"properties": {
"count": {
"type": "integer"
},
"data": {
"items": {
"$ref": "#/definitions/summary.StageDataResponse"
},
"type": "array"
}
},
"title": "StageResponse",
"type": "object"
},
"summary.StageTaskResponse": {
"description": "StageTaskResponse contains counters from stage's tasks.",
"properties": {
"active": {
"type": "integer"
},
"archived": {
"type": "integer"
},
"completed": {
"type": "integer"
},
"count": {
"type": "integer"
}
},
"title": "StageTaskResponse",
"type": "object"
},
"summary.TaskResponse": {
"description": "TaskResponse contains counters for tasks.",
"properties": {
"active": {
"type": "integer"
},
"complete": {
"type": "integer"
},
"late": {
"type": "integer"
},
"nodate": {
"type": "integer"
},
"started": {
"type": "integer"
},
"today": {
"type": "integer"
},
"upcoming": {
"type": "integer"
}
},
"title": "TaskResponse",
"type": "object"
},
"summary.TimeCounterEstimateResponse": {
"description": "TimeCounterEstimateResponse contains estimate counters for times.",
"properties": {
"activeMinsEstimated": {
"type": "integer"
},
"completedMinsEstimated": {
"type": "integer"
},
"totalMinsEstimated": {
"type": "integer"
},
"totalWithTimeLoggedEstimatedMins": {
"type": "integer"
}
},
"title": "TimeCounterEstimateResponse",
"type": "object"
},
"summary.TimeCounterResponse": {
"description": "TimeCounterResponse contains counters for times.",
"properties": {
"estimates": {
"$ref": "#/definitions/summary.TimeCounterEstimateResponse"
},
"totals": {
"$ref": "#/definitions/summary.TimeCounterTotalResponse"
}
},
"title": "TimeCounterResponse",
"type": "object"
},
"summary.TimeCounterTotalResponse": {
"description": "TimeCounterTotalResponse contains total counters for times.",
"properties": {
"billableMinsSum": {
"type": "integer"
},
"billedMinsSum": {
"type": "integer"
},
"nonBillableMinsSum": {
"type": "integer"
},
"nonBilledMinsSum": {
"type": "integer"
},
"totalMinsSum": {
"type": "integer"
}
},
"title": "TimeCounterTotalResponse",
"type": "object"
},
"summary.TimeResponse": {
"description": "TimeResponse contains counters for times' groups.",
"properties": {
"all": {
"$ref": "#/definitions/summary.TimeCounterResponse"
},
"mine": {
"$ref": "#/definitions/summary.TimeCounterResponse"
}
},
"title": "TimeResponse",
"type": "object"
},
"summary.UnreadResponse": {
"description": "UnreadResponse contains counters for unread objects.",
"properties": {
"comments": {
"type": "integer"
},
"messages": {
"type": "integer"
}
},
"title": "UnreadResponse",
"type": "object"
},
"tag.BulkDeleteRequest": {
"description": "BulkDeleteRequest contains the ids of the tags that should be removed.",
"properties": {
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tagNames": {
"items": {
"type": "string"
},
"type": "array"
}
},
"title": "BulkDeleteRequest",
"type": "object"
},
"tag.Request": {
"description": "Request contains information of a tag to be created or updated.",
"properties": {
"tag": {
"$ref": "#/definitions/tag.Tag"
}
},
"title": "Request",
"type": "object"
},
"tag.Response": {
"description": "Response contains information about a specific tag.",
"properties": {
"tag": {
"$ref": "#/definitions/view.Tag"
}
},
"title": "Response",
"type": "object"
},
"tag.Tag": {
"description": "Tag contains all the information returned from a tag.",
"properties": {
"color": {
"type": "string"
},
"name": {
"type": "string"
},
"projectId": {
"type": "integer"
}
},
"title": "Tag",
"type": "object"
},
"tag.TagsResponse": {
"description": "TagsResponse contains information about a group of tags.",
"properties": {
"included": {
"properties": {
"cards": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskCard"
},
"type": "object"
},
"columns": {
"additionalProperties": {
"$ref": "#/definitions/view.BoardColumn"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Tag"
},
"type": "array"
}
},
"title": "TagsResponse",
"type": "object"
},
"task.Card": {
"description": "Card stores information about the card created with the task.",
"properties": {
"columnId": {
"type": "integer"
}
},
"title": "Card",
"type": "object"
},
"task.CustomFields": {
"description": "CustomFields is the custom fields type.",
"properties": {
"Values": {
"items": {
"$ref": "#/definitions/value.CustomFieldValue"
},
"type": "array"
}
},
"title": "CustomFields",
"type": "object"
},
"task.File": {
"description": "File stores information about a uploaded file.",
"properties": {
"categoryId": {
"type": "integer"
},
"id": {
"type": "integer"
}
},
"title": "File",
"type": "object"
},
"task.Included": {
"description": "Included is the task sideloads",
"properties": {
"cards": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskCard"
},
"type": "object"
},
"columns": {
"additionalProperties": {
"$ref": "#/definitions/view.BoardColumn"
},
"type": "object"
},
"comments": {
"additionalProperties": {
"$ref": "#/definitions/view.Comment"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"customfieldTasks": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomFieldValueTask"
},
"type": "object"
},
"customfields": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomField"
},
"type": "object"
},
"files": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectFileV205"
},
"type": "object"
},
"lockdowns": {
"additionalProperties": {
"$ref": "#/definitions/view.Lockdown"
},
"type": "object"
},
"milestones": {
"additionalProperties": {
"$ref": "#/definitions/view.Milestone"
},
"type": "object"
},
"projectCategories": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectCategory"
},
"type": "object"
},
"projectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"proofs": {
"additionalProperties": {
"$ref": "#/definitions/view.Proof"
},
"type": "object"
},
"stages": {
"additionalProperties": {
"$ref": "#/definitions/view.Stage"
},
"type": "object"
},
"subtaskStats": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskStats"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"taskSequences": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskSequence"
},
"type": "object"
},
"taskgroups": {
"additionalProperties": {
"$ref": "#/definitions/view.Taskgroup"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"timeTotals": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskTimeTotals"
},
"type": "object"
},
"timers": {
"additionalProperties": {
"$ref": "#/definitions/view.Timer"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
},
"workflows": {
"additionalProperties": {
"$ref": "#/definitions/view.Workflow"
},
"type": "object"
}
},
"title": "Included",
"type": "object"
},
"task.Options": {
"description": "Options contains any options which can be set\nfor the task request",
"properties": {
"appendAssignees": {
"type": "boolean"
},
"checkInvalidusers": {
"type": "boolean"
},
"everyoneMustDo": {
"type": "boolean"
},
"fireWebhook": {
"type": "boolean"
},
"isTemplate": {
"type": "boolean"
},
"logActivity": {
"type": "boolean"
},
"notify": {
"type": "boolean"
},
"parseInlineTags": {
"type": "boolean"
},
"positionAfterTaskId": {
"type": "integer"
},
"pushDependents": {
"type": "boolean"
},
"pushSubtasks": {
"type": "boolean"
},
"shiftProjectDates": {
"type": "boolean"
},
"useDefaults": {
"type": "boolean"
},
"useNotifyViaTWIM": {
"type": "boolean"
}
},
"title": "Options",
"type": "object"
},
"task.PendingFile": {
"description": "PendingFile stores information about a file uploaded on-the-fly.",
"properties": {
"categoryId": {
"type": "integer"
},
"reference": {
"type": "string"
}
},
"title": "PendingFile",
"type": "object"
},
"task.Predecessor": {
"description": "Predecessor stores information about task predecessors.",
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"title": "Predecessor",
"type": "object"
},
"task.Reminder": {
"description": "Reminder stores all necessary information to create a task reminder.",
"properties": {
"isRelative": {
"type": "boolean"
},
"note": {
"type": "string"
},
"relativeNumberDays": {
"type": "integer"
},
"remindAt": {
"type": "string"
},
"type": {
"type": "string"
},
"userId": {
"type": "integer"
}
},
"title": "Reminder",
"type": "object"
},
"task.RepeatOptions": {
"description": "RepeatOptions stores recurring information for the task.",
"properties": {
"duration": {
"type": "integer"
},
"editOption": {
"type": "string"
},
"endsAt": {
"$ref": "#/definitions/payload.NullableDate"
},
"frequency": {
"$ref": "#/definitions/payload.NullableTaskRepeatFrequency"
},
"monthlyRepeatType": {
"$ref": "#/definitions/payload.NullableTaskRepeatMonthlyType"
},
"rrule": {
"description": "Adds the RRule definition for repeating tasks. It replaces all other repeating fields.",
"title": "RRule",
"type": "string"
},
"selectedDays": {
"$ref": "#/definitions/payload.NullableWorkingHourEntryWeekdays"
}
},
"title": "RepeatOptions",
"type": "object"
},
"task.Request": {
"description": "Request contains information of a task to be created or updated.",
"properties": {
"attachmentOptions": {
"properties": {
"removeOtherFiles": {
"type": "boolean"
}
},
"type": "object"
},
"attachments": {
"properties": {
"files": {
"items": {
"$ref": "#/definitions/task.File"
},
"type": "array"
},
"pendingFiles": {
"items": {
"$ref": "#/definitions/task.PendingFile"
},
"type": "array"
}
},
"type": "object"
},
"card": {
"$ref": "#/definitions/task.Card"
},
"predecessors": {
"items": {
"$ref": "#/definitions/task.Predecessor"
},
"type": "array"
},
"tags": {
"items": {
"$ref": "#/definitions/tag.Tag"
},
"type": "array"
},
"task": {
"$ref": "#/definitions/task.Task"
},
"taskOptions": {
"$ref": "#/definitions/task.Options"
},
"workflows": {
"$ref": "#/definitions/task.Workflows"
}
},
"title": "Request",
"type": "object"
},
"task.Task": {
"description": "Task contains all the information returned from a task.",
"properties": {
"assignees": {
"$ref": "#/definitions/payload.UserGroups"
},
"attachmentIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"changeFollowers": {
"$ref": "#/definitions/payload.UserGroups"
},
"commentFollowers": {
"$ref": "#/definitions/payload.UserGroups"
},
"completedAt": {
"type": "string"
},
"completedBy": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"crmDealIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"customFields": {
"$ref": "#/definitions/task.CustomFields"
},
"description": {
"type": "string"
},
"descriptionContentType": {
"type": "string"
},
"dueAt": {
"$ref": "#/definitions/payload.NullableDate"
},
"estimatedMinutes": {
"type": "integer"
},
"grantAccessTo": {
"$ref": "#/definitions/payload.UserGroups"
},
"hasDeskTickets": {
"type": "boolean"
},
"name": {
"type": "string"
},
"originalDueDate": {
"$ref": "#/definitions/payload.NullableDate"
},
"parentTaskId": {
"type": "integer"
},
"priority": {
"$ref": "#/definitions/payload.NullableTaskPriority"
},
"private": {
"type": "boolean"
},
"progress": {
"type": "integer"
},
"reminders": {
"items": {
"$ref": "#/definitions/task.Reminder"
},
"type": "array"
},
"repeatOptions": {
"$ref": "#/definitions/task.RepeatOptions"
},
"startAt": {
"$ref": "#/definitions/payload.NullableDate"
},
"status": {
"type": "string"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"taskgroupId": {
"type": "integer"
},
"tasklistId": {
"type": "integer"
},
"templateRoleName": {
"type": "string"
},
"ticketId": {
"type": "integer"
}
},
"title": "Task",
"type": "object"
},
"task.Workflows": {
"description": "Workflows stores information about where the task lives in the workflow",
"properties": {
"positionAfterTask": {
"type": "integer"
},
"stageId": {
"type": "integer"
},
"workflowId": {
"type": "integer"
}
},
"title": "Workflows",
"type": "object"
},
"task.responseV205": {
"properties": {
"affected": {
"$ref": "#/definitions/view.TaskAffectedV205"
},
"included": {
"$ref": "#/definitions/task.Included"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"task": {
"$ref": "#/definitions/view.TaskV205"
}
},
"title": "responseV205",
"type": "object"
},
"task.tasksResponseV205": {
"properties": {
"included": {
"$ref": "#/definitions/task.Included"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"tasks": {
"items": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "array"
}
},
"title": "tasksResponseV205",
"type": "object"
},
"tasklist.Response": {
"description": "Response contains information about a specific tasklist.",
"properties": {
"included": {
"properties": {
"columns": {
"additionalProperties": {
"$ref": "#/definitions/view.BoardColumn"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"customfieldTasks": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomFieldValueTask"
},
"type": "object"
},
"customfields": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomField"
},
"type": "object"
},
"defaultTaskReminders": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskReminder"
},
"type": "object"
},
"lockdowns": {
"additionalProperties": {
"$ref": "#/definitions/view.Lockdown"
},
"type": "object"
},
"milestones": {
"additionalProperties": {
"$ref": "#/definitions/view.Milestone"
},
"type": "object"
},
"notifications": {
"additionalProperties": {
"$ref": "#/definitions/view.TasklistBudgetNotification"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.IncludedProject"
},
"type": "object"
},
"tasklistBudgets": {
"additionalProperties": {
"$ref": "#/definitions/view.TasklistBudget"
},
"type": "object"
},
"tasklistTaskStats": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskStats"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.IncludedTask"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
},
"workflowStages": {
"additionalProperties": {
"$ref": "#/definitions/view.Stage"
},
"type": "object"
},
"workflows": {
"additionalProperties": {
"$ref": "#/definitions/view.Workflow"
},
"type": "object"
}
},
"type": "object"
},
"tasklist": {
"$ref": "#/definitions/view.Tasklist"
}
},
"title": "Response",
"type": "object"
},
"tasklist.TasklistsResponse": {
"description": "TasklistsResponse contains information about a group of tasklists.",
"properties": {
"included": {
"properties": {
"columns": {
"additionalProperties": {
"$ref": "#/definitions/view.BoardColumn"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"customfieldTasks": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomFieldValueTask"
},
"type": "object"
},
"customfields": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomField"
},
"type": "object"
},
"defaultTaskReminders": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskReminder"
},
"type": "object"
},
"lockdowns": {
"additionalProperties": {
"$ref": "#/definitions/view.Lockdown"
},
"type": "object"
},
"milestones": {
"additionalProperties": {
"$ref": "#/definitions/view.Milestone"
},
"type": "object"
},
"notifications": {
"additionalProperties": {
"$ref": "#/definitions/view.TasklistBudgetNotification"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.IncludedProject"
},
"type": "object"
},
"tasklistBudgets": {
"additionalProperties": {
"$ref": "#/definitions/view.TasklistBudget"
},
"type": "object"
},
"tasklistTaskStats": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskStats"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.IncludedTask"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
},
"workflowStages": {
"additionalProperties": {
"$ref": "#/definitions/view.Stage"
},
"type": "object"
},
"workflows": {
"additionalProperties": {
"$ref": "#/definitions/view.Workflow"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"tasklists": {
"items": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "array"
}
},
"title": "TasklistsResponse",
"type": "object"
},
"tasklistbudget.Budget": {
"description": "Budget contains all the information returned from a budget.",
"properties": {
"capacity": {
"type": "integer"
},
"id": {
"type": "integer"
},
"notifications": {
"items": {
"$ref": "#/definitions/tasklistbudget.notification"
},
"type": "array"
},
"tasklist": {
"$ref": "#/definitions/tasklistbudget.tasklist"
}
},
"title": "Budget",
"type": "object"
},
"tasklistbudget.BudgetResponse": {
"description": "BudgetResponse contains information about a group of budgets.",
"properties": {
"meta": {
"$ref": "#/definitions/view.Meta"
},
"tasklistBudget": {
"$ref": "#/definitions/view.TasklistBudget"
}
},
"title": "BudgetResponse",
"type": "object"
},
"tasklistbudget.BudgetsResponse": {
"description": "BudgetsResponse contains information about a group of budgets.",
"properties": {
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"notifications": {
"additionalProperties": {
"$ref": "#/definitions/view.TasklistBudgetNotification"
},
"type": "object"
},
"projectBudgets": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectBudget"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"tasklistBudgets": {
"items": {
"$ref": "#/definitions/view.TasklistBudget"
},
"type": "array"
}
},
"title": "BudgetsResponse",
"type": "object"
},
"tasklistbudget.BulkAddBudgetRequest": {
"description": "BulkAddBudgetRequest structure hold information needed to add\nor update task list budgets along with request options",
"properties": {
"tasklistBudgets": {
"items": {
"$ref": "#/definitions/tasklistbudget.Budget"
},
"type": "array"
},
"tasklistBudgetsOptions": {
"$ref": "#/definitions/tasklistbudget.RequestOptions"
}
},
"title": "BulkAddBudgetRequest",
"type": "object"
},
"tasklistbudget.PatchBudgetRequest": {
"description": "PatchBudgetRequest Structure for the edit budget PATCH request",
"properties": {
"tasklistBudget": {
"$ref": "#/definitions/tasklistbudget.Budget"
},
"tasklistBudgetOptions": {
"$ref": "#/definitions/tasklistbudget.RequestOptions"
}
},
"title": "PatchBudgetRequest",
"type": "object"
},
"tasklistbudget.RequestOptions": {
"description": "RequestOptions has options for events related to requests",
"properties": {
"fireWebhook": {
"type": "boolean"
},
"logActivity": {
"type": "boolean"
},
"useNotifyViaTWIM": {
"type": "boolean"
}
},
"title": "RequestOptions",
"type": "object"
},
"tasklistbudget.company": {
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"title": "company",
"type": "object"
},
"tasklistbudget.notification": {
"properties": {
"capacityThreshold": {
"type": "number"
},
"companies": {
"items": {
"$ref": "#/definitions/tasklistbudget.company"
},
"type": "array"
},
"id": {
"type": "integer"
},
"notificationMedium": {
"type": "string"
},
"teams": {
"items": {
"$ref": "#/definitions/tasklistbudget.team"
},
"type": "array"
},
"users": {
"items": {
"$ref": "#/definitions/tasklistbudget.user"
},
"type": "array"
}
},
"title": "notification",
"type": "object"
},
"tasklistbudget.tasklist": {
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"title": "tasklist",
"type": "object"
},
"tasklistbudget.team": {
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"title": "team",
"type": "object"
},
"tasklistbudget.user": {
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"title": "user",
"type": "object"
},
"timelog.CompanyTimelogsResponse": {
"description": "CompanyTimelogsResponse contains information about a group of timelogs, grouped by company ID.",
"properties": {
"included": {
"properties": {
"billingInvoices": {
"additionalProperties": {
"$ref": "#/definitions/view.Invoice"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"currencies": {
"additionalProperties": {
"$ref": "#/definitions/view.Currency"
},
"type": "object"
},
"projectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"userRates": {
"additionalProperties": {
"$ref": "#/definitions/view.EffectiveUserRate"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"timelogs": {
"type": "object"
}
},
"title": "CompanyTimelogsResponse",
"type": "object"
},
"timelog.Request": {
"description": "Request contains information of a timelog to be created or updated.",
"properties": {
"tags": {
"items": {
"$ref": "#/definitions/tag.Tag"
},
"type": "array"
},
"timelog": {
"$ref": "#/definitions/timelog.Timelog"
},
"timelogOptions": {
"properties": {
"fireWebhook": {
"type": "boolean"
},
"logActivity": {
"type": "boolean"
},
"markTaskComplete": {
"type": "boolean"
},
"parseInlineTags": {
"type": "boolean"
},
"useNotifyViaTWIM": {
"type": "boolean"
}
},
"type": "object"
}
},
"title": "Request",
"type": "object"
},
"timelog.Response": {
"description": "Response contains information about a specific timelog.",
"properties": {
"included": {
"properties": {
"billingInvoices": {
"additionalProperties": {
"$ref": "#/definitions/view.Invoice"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"currencies": {
"additionalProperties": {
"$ref": "#/definitions/view.Currency"
},
"type": "object"
},
"projectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"userRates": {
"additionalProperties": {
"$ref": "#/definitions/view.EffectiveUserRate"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"timelog": {
"$ref": "#/definitions/view.Timelog"
}
},
"title": "Response",
"type": "object"
},
"timelog.Timelog": {
"description": "Timelog contains all the information returned from a timelog.",
"properties": {
"date": {
"$ref": "#/definitions/payload.Date"
},
"description": {
"type": "string"
},
"hasStartTime": {
"type": "boolean"
},
"hours": {
"type": "integer"
},
"invoiceId": {
"type": "integer"
},
"isBillable": {
"type": "boolean"
},
"isUtc": {
"type": "boolean"
},
"minutes": {
"type": "integer"
},
"projectId": {
"type": "integer"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"taskId": {
"type": "integer"
},
"ticketId": {
"type": "integer"
},
"time": {
"$ref": "#/definitions/payload.Time"
},
"userId": {
"type": "integer"
}
},
"title": "Timelog",
"type": "object"
},
"timelog.TimelogsResponse": {
"description": "TimelogsResponse contains information about a group of timelogs.",
"properties": {
"included": {
"properties": {
"billingInvoices": {
"additionalProperties": {
"$ref": "#/definitions/view.Invoice"
},
"type": "object"
},
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"currencies": {
"additionalProperties": {
"$ref": "#/definitions/view.Currency"
},
"type": "object"
},
"projectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tags": {
"additionalProperties": {
"$ref": "#/definitions/view.Tag"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"userRates": {
"additionalProperties": {
"$ref": "#/definitions/view.EffectiveUserRate"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"timelogs": {
"items": {
"$ref": "#/definitions/view.Timelog"
},
"type": "array"
}
},
"title": "TimelogsResponse",
"type": "object"
},
"timelog.TotalsResponse": {
"description": "TotalsResponse contains information about timelog totals.",
"properties": {
"financialTotals": {
"$ref": "#/definitions/view.FinancialTotals"
},
"subTasks": {
"$ref": "#/definitions/view.TimelogTotalsSubtasks"
},
"time-totals": {
"$ref": "#/definitions/view.TimelogTotals"
}
},
"title": "TotalsResponse",
"type": "object"
},
"timer.DeleteRequest": {
"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.",
"properties": {
"hardDelete": {
"type": "boolean"
}
},
"title": "DeleteRequest",
"type": "object"
},
"timer.Request": {
"description": "Request contains information of a timer to be created or updated.",
"properties": {
"timer": {
"$ref": "#/definitions/timer.Timer"
}
},
"title": "Request",
"type": "object"
},
"timer.Response": {
"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",
"properties": {
"included": {
"properties": {
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"timer": {
"$ref": "#/definitions/view.Timer"
}
},
"title": "Response",
"type": "object"
},
"timer.Timer": {
"description": "Timer contains all the information returned from a timer.",
"properties": {
"description": {
"type": "string"
},
"isBillable": {
"type": "boolean"
},
"isRunning": {
"type": "boolean"
},
"projectId": {
"type": "integer"
},
"seconds": {
"description": "only valid for POST requests",
"type": "integer"
},
"stopRunningTimers": {
"type": "boolean"
},
"taskId": {
"type": "integer"
}
},
"title": "Timer",
"type": "object"
},
"timer.TimersResponse": {
"description": "TimersResponse contains all the information returned when sending a GET\nrequest to the timers endpoint.",
"properties": {
"included": {
"properties": {
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"timers": {
"items": {
"$ref": "#/definitions/view.Timer"
},
"type": "array"
}
},
"title": "TimersResponse",
"type": "object"
},
"timesheet.MyTimesheetsResponse": {
"description": "MyTimesheetsResponse contains timesheets list, includes and metadata.",
"properties": {
"included": {
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"eventTypes": {
"additionalProperties": {
"$ref": "#/definitions/view.LegacyCalendarEventType"
},
"type": "object"
},
"projectPermissions": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectPermissions"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"subtaskStats": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskStats"
},
"type": "object"
},
"tasklists": {
"additionalProperties": {
"$ref": "#/definitions/view.Tasklist"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
},
"timesheetCustomRows": {
"additionalProperties": {
"$ref": "#/definitions/view.TimesheetCustomRow"
},
"type": "object"
},
"unavailableTimes": {
"additionalProperties": {
"$ref": "#/definitions/view.LegacyUnavailableTime"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
},
"workingHourEntries": {
"additionalProperties": {
"$ref": "#/definitions/view.WorkingHourEntry"
},
"type": "object"
},
"workingHours": {
"additionalProperties": {
"$ref": "#/definitions/view.WorkingHour"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"timesheets": {
"items": {
"$ref": "#/definitions/view.MyTimesheet"
},
"type": "array"
},
"unavailableTimes": {
"$ref": "#/definitions/view.UnavailableTimes"
}
},
"title": "MyTimesheetsResponse",
"type": "object"
},
"timesheet.MyTimesheetsTotalsResponse": {
"description": "MyTimesheetsTotalsResponse contains timesheets list, includes and metadata.",
"properties": {
"myTimesheetsTotals": {
"$ref": "#/definitions/view.MyTimesheetsTotals"
}
},
"title": "MyTimesheetsTotalsResponse",
"type": "object"
},
"unbilled.ProjectMetricUnbilledResponse": {
"description": "ProjectMetricUnbilledResponse contains information about a group of unbilled\ninvoices.",
"properties": {
"data": {
"properties": {
"value": {
"type": "integer"
}
},
"type": "object"
}
},
"title": "ProjectMetricUnbilledResponse",
"type": "object"
},
"update.ProjectUpdatesResponse": {
"description": "ProjectUpdatesResponse contains information about a group of updates.",
"properties": {
"included": {
"properties": {
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"projectUpdates": {
"items": {
"$ref": "#/definitions/view.ProjectUpdate"
},
"type": "array"
}
},
"title": "ProjectUpdatesResponse",
"type": "object"
},
"utilization.Response": {
"description": "Response contains information about a specific availability.",
"properties": {
"dashboardData": {
"properties": {
"jobRolesDashboard": {
"items": {
"$ref": "#/definitions/view.JobRolesDashboard"
},
"type": "array"
},
"teamsDashboard": {
"items": {
"$ref": "#/definitions/view.TeamsDashboard"
},
"type": "array"
},
"usersDashboard": {
"items": {
"$ref": "#/definitions/view.UsersDashboard"
},
"type": "array"
}
},
"type": "object"
},
"included": {
"properties": {
"jobRoles": {
"additionalProperties": {
"$ref": "#/definitions/view.JobRole"
},
"type": "object"
},
"teams": {
"additionalProperties": {
"$ref": "#/definitions/view.Team"
},
"type": "object"
},
"users": {
"additionalProperties": {
"$ref": "#/definitions/view.User"
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"$ref": "#/definitions/view.Meta"
},
"utilization": {
"$ref": "#/definitions/view.ReportUtilizationData"
}
},
"title": "Response",
"type": "object"
},
"value.CustomFieldValue": {
"description": "CustomFieldValue contains all the information returned from a customfield.",
"properties": {
"countryCode": {
"type": "string"
},
"currencySymbol": {
"type": "string"
},
"customfieldId": {
"type": "integer"
},
"urlTextToDisplay": {
"type": "string"
},
"value": {}
},
"title": "CustomFieldValue",
"type": "object"
},
"value.EditCustomFieldValue": {
"description": "EditCustomFieldValue contains all the information to update a project\ncustom field value.",
"properties": {
"countryCode": {
"type": "string"
},
"currencySymbol": {
"type": "string"
},
"customfieldId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"urlTextToDisplay": {
"type": "string"
},
"value": {}
},
"title": "EditCustomFieldValue",
"type": "object"
},
"value.ResponseIncluded": {
"description": "ResponseIncluded is included in the response.",
"properties": {
"companies": {
"additionalProperties": {
"$ref": "#/definitions/view.Company"
},
"type": "object"
},
"customfields": {
"additionalProperties": {
"$ref": "#/definitions/view.CustomField"
},
"type": "object"
},
"projects": {
"additionalProperties": {
"$ref": "#/definitions/view.ProjectV205"
},
"type": "object"
},
"tasks": {
"additionalProperties": {
"$ref": "#/definitions/view.TaskV205"
},
"type": "object"
}
},
"title": "ResponseIncluded",
"type": "object"
},
"value.bulkDeleteRequestCompany": {
"properties": {
"customfieldCompanyIds": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "bulkDeleteRequestCompany",
"type": "object"
},
"value.bulkDeleteRequestProject": {
"properties": {
"customfieldProjectIds": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "bulkDeleteRequestProject",
"type": "object"
},
"value.bulkDeleteRequestTask": {
"properties": {
"customfieldTaskIds": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "bulkDeleteRequestTask",
"type": "object"
},
"value.bulkUpdateRequestCompany": {
"properties": {
"customfieldCompanies": {
"items": {
"$ref": "#/definitions/value.EditCustomFieldValue"
},
"type": "array"
},
"customfieldCompaniesOptions": {
"$ref": "#/definitions/value.options"
}
},
"title": "bulkUpdateRequestCompany",
"type": "object"
},
"value.bulkUpdateRequestProject": {
"properties": {
"customfieldProjects": {
"items": {
"$ref": "#/definitions/value.EditCustomFieldValue"
},
"type": "array"
},
"customfieldProjectsOptions": {
"$ref": "#/definitions/value.options"
}
},
"title": "bulkUpdateRequestProject",
"type": "object"
},
"value.bulkUpdateRequestTask": {
"properties": {
"customfieldTasks": {
"items": {
"$ref": "#/definitions/value.EditCustomFieldValue"
},
"type": "array"
},
"customfieldTasksOptions": {
"$ref": "#/definitions/value.options"
}
},
"title": "bulkUpdateRequestTask",
"type": "object"
},
"value.options": {
"properties": {
"fireWebhook": {
"type": "boolean"
}
},
"title": "options",
"type": "object"
},
"value.requestCompany": {
"properties": {
"customfieldCompany": {
"$ref": "#/definitions/value.CustomFieldValue"
},
"customfieldCompanyOptions": {
"$ref": "#/definitions/value.options"
}
},
"title": "requestCompany",
"type": "object"
},
"value.requestProject": {
"properties": {
"customfieldProject": {
"$ref": "#/definitions/value.CustomFieldValue"
},
"customfieldProjectOptions": {
"$ref": "#/definitions/value.options"
}
},
"title": "requestProject",
"type": "object"
},
"value.requestTask": {
"properties": {
"customfieldTask": {
"$ref": "#/definitions/value.CustomFieldValue"
},
"customfieldTaskOptions": {
"$ref": "#/definitions/value.options"
}
},
"title": "requestTask",
"type": "object"
},
"value.responseCompany": {
"properties": {
"customfieldCompany": {
"$ref": "#/definitions/view.CustomFieldValueCompany"
},
"included": {
"$ref": "#/definitions/value.ResponseIncluded"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "responseCompany",
"type": "object"
},
"value.responseProject": {
"properties": {
"customfieldProject": {
"$ref": "#/definitions/view.CustomFieldValueProject"
},
"included": {
"$ref": "#/definitions/value.ResponseIncluded"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "responseProject",
"type": "object"
},
"value.responseTask": {
"properties": {
"customfieldTask": {
"$ref": "#/definitions/view.CustomFieldValueTask"
},
"included": {
"$ref": "#/definitions/value.ResponseIncluded"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "responseTask",
"type": "object"
},
"value.valuesResponseCompany": {
"properties": {
"customfieldCompanies": {
"items": {
"$ref": "#/definitions/view.CustomFieldValueCompany"
},
"type": "array"
},
"included": {
"$ref": "#/definitions/value.ResponseIncluded"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "valuesResponseCompany",
"type": "object"
},
"value.valuesResponseProject": {
"properties": {
"customfieldProjects": {
"items": {
"$ref": "#/definitions/view.CustomFieldValueProject"
},
"type": "array"
},
"included": {
"$ref": "#/definitions/value.ResponseIncluded"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "valuesResponseProject",
"type": "object"
},
"value.valuesResponseTask": {
"properties": {
"customfieldTasks": {
"items": {
"$ref": "#/definitions/view.CustomFieldValueTask"
},
"type": "array"
},
"included": {
"$ref": "#/definitions/value.ResponseIncluded"
},
"meta": {
"$ref": "#/definitions/view.Meta"
}
},
"title": "valuesResponseTask",
"type": "object"
},
"view.ActivityLog": {
"description": "ActivityLog contains all the information returned from a activityLog.",
"properties": {
"datetime": {
"type": "string"
},
"description": {
"type": "string"
},
"extraDescription": {
"type": "string"
},
"id": {
"type": "integer"
},
"itemLink": {
"type": "string"
},
"itemType": {
"type": "string"
},
"latestType": {
"type": "string"
},
"link": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
}
},
"title": "ActivityLog",
"type": "object"
},
"view.Assignee": {
"description": "Assignee contains assignee information.",
"properties": {
"decision": {
"type": "string"
},
"id": {
"type": "integer"
},
"isExternal": {
"type": "boolean"
},
"role": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
}
},
"title": "Assignee",
"type": "object"
},
"view.Audit": {
"description": "Audit represents the changes of a field.",
"properties": {
"after": {},
"before": {},
"field": {
"type": "string"
}
},
"title": "Audit",
"type": "object"
},
"view.Banner": {
"description": "Banner contains all the information returned from a form banner.",
"properties": {
"primaryColor": {
"type": "string"
},
"url": {
"type": "string"
},
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"title": "Banner",
"type": "object"
},
"view.BillableInfo": {
"description": "BillableInfo contains all the information related to the billable rates.",
"properties": {
"rate": {
"type": "number"
},
"total": {
"type": "number"
}
},
"title": "BillableInfo",
"type": "object"
},
"view.BoardColumn": {
"description": "BoardColumn contains all the information returned from a column.",
"properties": {
"color": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"defaultTasklist": {
"$ref": "#/definitions/view.Relationship"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"displayOrder": {
"type": "integer"
},
"hasTriggers": {
"type": "boolean"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"settings": {
"$ref": "#/definitions/view.BoardColumnSettings"
},
"sort": {
"type": "string"
},
"sortOrder": {
"type": "string"
},
"stats": {
"$ref": "#/definitions/view.ColumnStats"
},
"updatedAt": {
"type": "string"
}
},
"title": "BoardColumn",
"type": "object"
},
"view.BoardColumnSettings": {
"description": "BoardColumnSettings contains all the settings for a column.",
"properties": {
"assignee": {
"type": "boolean"
},
"avatar": {
"type": "boolean"
},
"comments": {
"type": "boolean"
},
"dependencies": {
"type": "boolean"
},
"endAt": {
"type": "boolean"
},
"estimatedtime": {
"type": "boolean"
},
"files": {
"type": "boolean"
},
"followers": {
"type": "boolean"
},
"name": {
"type": "boolean"
},
"priority": {
"type": "boolean"
},
"private": {
"type": "boolean"
},
"progress": {
"type": "boolean"
},
"recurring": {
"type": "boolean"
},
"reminders": {
"type": "boolean"
},
"startAt": {
"type": "boolean"
},
"subtasklabel": {
"type": "boolean"
},
"subtasktext": {
"type": "boolean"
},
"tags": {
"type": "boolean"
},
"tasklist": {
"type": "boolean"
},
"tickets": {
"type": "boolean"
},
"time": {
"type": "boolean"
}
},
"title": "BoardColumnSettings",
"type": "object"
},
"view.Breakdown": {
"description": "Breakdown contains a breakdown of time",
"properties": {
"daily": {
"additionalProperties": {
"$ref": "#/definitions/view.Totals"
},
"type": "object"
},
"totals": {
"$ref": "#/definitions/view.Totals"
}
},
"title": "Breakdown",
"type": "object"
},
"view.BudgetSummary": {
"description": "BudgetSummary represents a company budget summary",
"properties": {
"totalCapacity": {
"type": "integer"
},
"totalCapacityUsed": {
"type": "integer"
}
},
"title": "BudgetSummary",
"type": "object"
},
"view.CategoryTotals": {
"description": "CategoryTotals contains all the category totals.",
"properties": {
"categorizedItems": {
"type": "integer"
},
"uncategorizedItems": {
"type": "integer"
}
},
"title": "CategoryTotals",
"type": "object"
},
"view.ColumnStats": {
"description": "ColumnStats contains stats about a column",
"properties": {
"active": {
"type": "integer"
},
"completed": {
"type": "integer"
},
"estimatedTime": {
"type": "integer"
},
"total": {
"type": "integer"
}
},
"title": "ColumnStats",
"type": "object"
},
"view.Comment": {
"description": "Comment contains all the information returned from a comment.",
"properties": {
"id": {
"type": "integer"
},
"object": {
"$ref": "#/definitions/view.Relationship"
},
"objectId": {
"type": "integer"
},
"objectType": {
"type": "string"
},
"postedAt": {
"type": "string"
},
"postedBy": {
"$ref": "#/definitions/view.Relationship"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"title": {
"type": "string"
}
},
"title": "Comment",
"type": "object"
},
"view.Company": {
"description": "Company contains all the information returned from a company.",
"properties": {
"accounts": {
"type": "integer"
},
"addressOne": {
"type": "string"
},
"addressTwo": {
"type": "string"
},
"budgetDistribution": {
"items": {
"$ref": "#/definitions/entity.ProjectBudgetRange"
},
"type": "array"
},
"canSeePrivate": {
"type": "boolean"
},
"cid": {
"type": "string"
},
"city": {
"type": "string"
},
"clientManagedBy": {
"$ref": "#/definitions/view.Relationship"
},
"clients": {
"type": "integer"
},
"collaborators": {
"type": "integer"
},
"companyDomains": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"companyNameUrl": {
"type": "string"
},
"companyUpdate": {
"$ref": "#/definitions/view.Relationship"
},
"contacts": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"emailOne": {
"type": "string"
},
"emailThree": {
"type": "string"
},
"emailTwo": {
"type": "string"
},
"fax": {
"type": "string"
},
"financialBudgetSummary": {
"$ref": "#/definitions/view.BudgetSummary"
},
"id": {
"type": "integer"
},
"industry": {
"$ref": "#/definitions/view.Relationship"
},
"industryId": {
"type": "integer"
},
"isOwner": {
"type": "boolean"
},
"logoUrl": {
"type": "string"
},
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"privateNotes": {
"type": "string"
},
"privateNotesText": {
"type": "string"
},
"profileText": {
"type": "string"
},
"profitability": {
"$ref": "#/definitions/view.ProfitDetails"
},
"state": {
"type": "string"
},
"stats": {
"$ref": "#/definitions/view.CompanyStats"
},
"status": {
"type": "string"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"timeBudgetSummary": {
"$ref": "#/definitions/view.BudgetSummary"
},
"updatedAt": {
"type": "string"
},
"website": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"title": "Company",
"type": "object"
},
"view.CompanyDomain": {
"description": "CompanyDomain contains all the information returned from a company domain.",
"properties": {
"companyId": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": "string"
},
"deletedByUser": {
"type": "integer"
},
"domain": {
"type": "string"
},
"id": {
"type": "integer"
},
"state": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedByUser": {
"type": "integer"
}
},
"title": "CompanyDomain",
"type": "object"
},
"view.CompanyStats": {
"description": "CompanyStats tracks a companies project and task counts",
"properties": {
"projectCount": {
"type": "integer"
},
"taskCompleteCount": {
"type": "integer"
},
"taskCount": {
"type": "integer"
},
"unreadEmailCount": {
"type": "integer"
}
},
"title": "CompanyStats",
"type": "object"
},
"view.CompanyUpdate": {
"description": "CompanyUpdate represents a company update",
"properties": {
"active": {
"type": "boolean"
},
"company": {
"$ref": "#/definitions/view.Relationship"
},
"health": {
"type": "integer"
},
"id": {
"type": "integer"
},
"text": {
"type": "string"
}
},
"title": "CompanyUpdate",
"type": "object"
},
"view.Content": {
"description": "Content contains all the information returned from a form token.",
"properties": {
"banner": {
"$ref": "#/definitions/view.Banner"
},
"definition": {
"type": "string"
},
"description": {
"type": "string"
},
"logo": {
"$ref": "#/definitions/view.Logo"
},
"name": {
"type": "string"
},
"state": {
"type": "string"
},
"version": {
"type": "integer"
}
},
"title": "Content",
"type": "object"
},
"view.CostInfo": {
"description": "CostInfo contains all the information related to the cost rates.",
"properties": {
"rate": {
"type": "number"
},
"total": {
"type": "number"
}
},
"title": "CostInfo",
"type": "object"
},
"view.Country": {
"description": "Country represents all the information returned from a country.",
"properties": {
"code": {
"type": "string"
},
"country": {
"type": "string"
},
"eu": {
"type": "boolean"
},
"phoneCode": {
"type": "string"
},
"vatName": {
"type": "string"
},
"vatPercent": {
"type": "integer"
}
},
"title": "Country",
"type": "object"
},
"view.Currency": {
"description": "Currency representation",
"properties": {
"code": {
"type": "string"
},
"decimalPoints": {
"type": "integer"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
}
},
"title": "Currency",
"type": "object"
},
"view.CustomField": {
"description": "CustomField contains all the information returned from a custom field.",
"properties": {
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"createdByUserId": {
"type": "integer"
},
"currencyCode": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"deletedByUserId": {
"type": "integer"
},
"description": {
"type": "string"
},
"entity": {
"type": "string"
},
"formula": {
"type": "string"
},
"groupId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"isPrivate": {
"type": "boolean"
},
"name": {
"type": "string"
},
"options": {},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"required": {
"type": "boolean"
},
"type": {
"type": "string"
},
"unitId": {
"type": "integer"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"updatedByUserId": {
"type": "integer"
},
"visibilities": {
"items": {
"type": "string"
},
"type": "array"
}
},
"title": "CustomField",
"type": "object"
},
"view.CustomFieldValueCompany": {
"description": "CustomFieldValueCompany is a company custom field value.",
"properties": {
"company": {
"$ref": "#/definitions/view.Relationship"
},
"companyId": {
"type": "integer"
},
"countryCode": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"currencySymbol": {
"type": "string"
},
"customfield": {
"$ref": "#/definitions/view.Relationship"
},
"customfieldId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"urlTextToDisplay": {
"type": "string"
},
"value": {}
},
"title": "CustomFieldValueCompany",
"type": "object"
},
"view.CustomFieldValueProject": {
"description": "CustomFieldValueProject is a project custom field value.",
"properties": {
"countryCode": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"currencySymbol": {
"type": "string"
},
"customfield": {
"$ref": "#/definitions/view.Relationship"
},
"customfieldId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"urlTextToDisplay": {
"type": "string"
},
"value": {}
},
"title": "CustomFieldValueProject",
"type": "object"
},
"view.CustomFieldValueTask": {
"description": "CustomFieldValueTask is a task custom field value.",
"properties": {
"countryCode": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"currencySymbol": {
"type": "string"
},
"customfield": {
"$ref": "#/definitions/view.Relationship"
},
"customfieldId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"task": {
"$ref": "#/definitions/view.Relationship"
},
"taskId": {
"type": "integer"
},
"urlTextToDisplay": {
"type": "string"
},
"value": {}
},
"title": "CustomFieldValueTask",
"type": "object"
},
"view.DashboardData": {
"description": "DashboardData stores the user utilization on a specific period.",
"properties": {
"availableMinutes": {
"type": "integer"
},
"billableUtilization": {
"type": "number"
},
"estimatedBillableUtilization": {
"type": "number"
},
"estimatedUtilization": {
"type": "number"
},
"totalWorkingMinutes": {
"type": "integer"
},
"unavailableMinutes": {
"type": "integer"
}
},
"title": "DashboardData",
"type": "object"
},
"view.Date": {
"description": "Date represents a Unified API Spec date format.",
"title": "Date",
"type": "object"
},
"view.EffectiveUserRate": {
"description": "EffectiveUserRate is the users effective rate",
"properties": {
"effectiveRate": {
"type": "integer"
},
"user": {
"$ref": "#/definitions/view.Relationship"
}
},
"title": "EffectiveUserRate",
"type": "object"
},
"view.Error": {
"description": "Error describes an API error.",
"properties": {
"code": {
"description": "Code is an application-specific error code.",
"type": "string"
},
"detail": {
"description": "Detail is a human-readable explanation specific to this occurrence of the\nproblem.",
"type": "string"
},
"id": {
"description": "ID is a reference for this exact instance of the error.",
"type": "string"
},
"meta": {
"description": "Meta contains tags that are useful to detect specific issues.",
"type": "object"
},
"title": {
"description": "Title is a short, human-readable summary of the problem.",
"type": "string"
}
},
"title": "Error",
"type": "object"
},
"view.ErrorResponse": {
"description": "ErrorResponse defines how []Error should be marshaled to JSON.",
"properties": {
"errors": {
"items": {
"$ref": "#/definitions/view.Error"
},
"type": "array"
}
},
"title": "ErrorResponse",
"type": "object"
},
"view.Feature": {
"description": "Feature contains all the information returned from a feature.",
"properties": {
"endAt": {
"type": "string"
},
"isBeta": {
"type": "boolean"
},
"key": {
"type": "string"
},
"scope": {
"type": "string"
},
"source": {
"type": "string"
},
"startAt": {
"type": "string"
},
"value": {
"type": "string"
}
},
"title": "Feature",
"type": "object"
},
"view.FileversionV205": {
"description": "FileversionV205 contains all the information returned from a fileversion.",
"properties": {
"commentsCount": {
"type": "integer"
},
"commentsCountRead": {
"type": "integer"
},
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"file": {
"$ref": "#/definitions/view.Relationship"
},
"fileId": {
"type": "integer"
},
"fileVersionId": {
"type": "integer"
},
"name": {
"type": "string"
},
"originalName": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"reactions": {
"$ref": "#/definitions/view.ReactionsForObject"
},
"size": {
"type": "integer"
},
"status": {
"type": "string"
},
"uploadedAt": {
"type": "string"
},
"uploadedBy": {
"type": "integer"
},
"versionNo": {
"type": "integer"
}
},
"title": "FileversionV205",
"type": "object"
},
"view.FinancialTotals": {
"description": "FinancialTotals contains all the information returned for financial totals.",
"properties": {
"totalCost": {
"type": "number"
},
"totalCostBillable": {
"type": "number"
},
"totalCostBilled": {
"type": "number"
}
},
"title": "FinancialTotals",
"type": "object"
},
"view.Form": {
"description": "Form contains all the information returned from a form.",
"properties": {
"allowTeamworkBranding": {
"type": "boolean"
},
"backgroundColor": {
"type": "string"
},
"confirmationMessage": {
"type": "string"
},
"content": {
"$ref": "#/definitions/view.Content"
},
"createFormTask": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"$ref": "#/definitions/view.Relationship"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"$ref": "#/definitions/view.Relationship"
},
"destinationObject": {
"$ref": "#/definitions/view.Relationship"
},
"hostObject": {
"$ref": "#/definitions/view.Relationship"
},
"id": {
"type": "integer"
},
"installation": {
"$ref": "#/definitions/view.Relationship"
},
"isShared": {
"type": "boolean"
},
"primaryColor": {
"type": "string"
},
"promptAdditionalSubmissions": {
"type": "boolean"
},
"redirectUrl": {
"type": "string"
},
"responseEmailFieldId": {
"type": "string"
},
"showProgressBar": {
"type": "boolean"
},
"state": {
"type": "string"
},
"submitButtonText": {
"type": "string"
},
"taskTitleFieldId": {
"type": "string"
},
"token": {
"$ref": "#/definitions/view.Token"
},
"totalSubmissions": {
"type": "integer"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"$ref": "#/definitions/view.Relationship"
}
},
"title": "Form",
"type": "object"
},
"view.IncludedProject": {
"description": "IncludedProject is a sideloaded project",
"title": "IncludedProject",
"type": "object"
},
"view.IncludedTask": {
"description": "IncludedTask is a sideloaded task.",
"title": "IncludedTask",
"type": "object"
},
"view.Industry": {
"description": "Industry contains all the information returned from an industry.",
"properties": {
"displayOrder": {
"type": "integer"
},
"id": {
"type": "integer"
},
"industryCategory": {
"$ref": "#/definitions/view.Relationship"
},
"industryCategoryId": {
"type": "integer"
},
"isActive": {
"type": "boolean"
},
"isPublished": {
"type": "boolean"
},
"name": {
"type": "string"
}
},
"title": "Industry",
"type": "object"
},
"view.Invoice": {
"description": "Invoice contains all the information returned from an invoice.",
"properties": {
"PONumber": {
"type": "string"
},
"companyId": {
"type": "integer"
},
"companyName": {
"type": "string"
},
"createdByUserFirstName": {
"type": "string"
},
"createdByUserId": {
"type": "integer"
},
"createdByUserLastName": {
"type": "string"
},
"currency": {
"$ref": "#/definitions/view.Relationship"
},
"currencyCode": {
"type": "string"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"description": {
"type": "string"
},
"displayDate": {
"$ref": "#/definitions/view.Date"
},
"dueDate": {
"$ref": "#/definitions/view.Date"
},
"editedByUserFirstName": {
"type": "string"
},
"editedByUserLastName": {
"type": "string"
},
"expenses": {
"items": {
"$ref": "#/definitions/view.InvoiceExpense"
},
"type": "array"
},
"exportedByUserFirstName": {
"type": "string"
},
"exportedByUserId": {
"type": "integer"
},
"exportedByUserLastName": {
"type": "string"
},
"exportedDate": {
"type": "string"
},
"exportedTo": {},
"fixedCost": {
"type": "number"
},
"id": {
"type": "integer"
},
"lineItems": {
"items": {
"$ref": "#/definitions/view.LineItem"
},
"type": "array"
},
"number": {
"type": "string"
},
"pricing": {
"type": "string"
},
"projectId": {
"type": "integer"
},
"projectName": {
"type": "string"
},
"status": {
"type": "string"
},
"totalBillable": {
"type": "number"
},
"totalExpenses": {
"type": "number"
},
"totalTime": {
"type": "integer"
},
"totalTimeBillable": {
"type": "number"
},
"totalTimeDecimal": {
"type": "number"
},
"updatedByUserId": {
"type": "integer"
}
},
"title": "Invoice",
"type": "object"
},
"view.InvoiceExpense": {
"description": "InvoiceExpense represents the view for an expense",
"properties": {
"assigneeDescription": {
"type": "string"
},
"cost": {
"type": "number"
},
"count": {
"type": "number"
},
"createdByUserFirstName": {
"type": "string"
},
"createdByUserId": {
"type": "integer"
},
"createdByUserLastName": {
"type": "string"
},
"date": {
"type": "string"
},
"dateDescription": {
"type": "string"
},
"datetime": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"invoiceId": {
"type": "integer"
},
"isSummarized": {
"type": "boolean"
},
"lineItemDescription": {
"type": "string"
},
"name": {
"type": "string"
},
"summarizationKey": {
"type": "string"
}
},
"title": "InvoiceExpense",
"type": "object"
},
"view.JobRole": {
"description": "JobRole contains all the information returned from a job role.",
"properties": {
"createdAt": {
"type": "string"
},
"createdByUser": {
"type": "integer"
},
"deletedAt": {
"type": "string"
},
"deletedByUser": {
"type": "integer"
},
"id": {
"type": "integer"
},
"isActive": {
"type": "boolean"
},
"name": {
"type": "string"
},
"primaryUsers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"updatedAt": {
"type": "string"
},
"updatedByUser": {
"type": "integer"
},
"users": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
}
},
"title": "JobRole",
"type": "object"
},
"view.JobRolesDashboard": {
"description": "JobRolesDashboard contains all the information returned from a utilization.",
"properties": {
"data": {
"$ref": "#/definitions/view.DashboardData"
},
"jobRole": {
"$ref": "#/definitions/view.Relationship"
},
"jobRoleId": {
"type": "integer"
},
"users": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
}
},
"title": "JobRolesDashboard",
"type": "object"
},
"view.LegacyCalendarEvent": {
"description": "LegacyCalendarEvent contains all the information returned from a calendar event.",
"properties": {
"additionalProperties": {
"type": "string"
},
"allDay": {
"type": "boolean"
},
"attendeesCanEdit": {
"type": "boolean"
},
"attendingUserIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"attendingUsers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"createdByUserId": {
"type": "integer"
},
"createdDateTime": {
"type": "string"
},
"currentUserAssociationType": {
"type": "string"
},
"dateDeleted": {
"type": "string"
},
"dateLastUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"deletedByUserId": {
"type": "integer"
},
"description": {
"type": "string"
},
"endDate": {
"type": "string"
},
"id": {
"type": "integer"
},
"location": {
"type": "string"
},
"monthlyRepeatType": {
"type": "string"
},
"ownedBy": {
"type": "integer"
},
"ownerUserId": {
"type": "integer"
},
"privacyType": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"projectUsersCanEdit": {
"type": "boolean"
},
"sequence": {
"$ref": "#/definitions/view.Relationship"
},
"sequenceId": {
"type": "integer"
},
"showAsBusy": {
"type": "boolean"
},
"startDate": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
"$ref": "#/definitions/view.Relationship"
},
"typeId": {
"type": "integer"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"updatedByUserId": {
"type": "integer"
}
},
"title": "LegacyCalendarEvent",
"type": "object"
},
"view.LegacyCalendarEventType": {
"description": "LegacyCalendarEventType contains all the information returned from a calendar event\ntype.",
"properties": {
"color": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"unavailable": {
"type": "boolean"
}
},
"title": "LegacyCalendarEventType",
"type": "object"
},
"view.LegacyUnavailableTime": {
"description": "LegacyUnavailableTime contains all the information returned for an unavailable\ntime.",
"properties": {
"allDay": {
"type": "boolean"
},
"attendingUsers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"description": {
"type": "string"
},
"durationMinutes": {
"type": "integer"
},
"endDate": {
"$ref": "#/definitions/view.Date"
},
"hoursPerDay": {
"type": "number"
},
"id": {
"type": "integer"
},
"meta": {
"type": "object"
},
"ownedBy": {
"type": "integer"
},
"startDate": {
"$ref": "#/definitions/view.Date"
},
"title": {
"type": "string"
},
"type": {
"$ref": "#/definitions/view.Relationship"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
}
},
"title": "LegacyUnavailableTime",
"type": "object"
},
"view.LineItem": {
"description": "LineItem represents the view for a line item",
"properties": {
"assigneeDescription": {
"type": "string"
},
"billable": {
"type": "boolean"
},
"billableTotal": {
"type": "number"
},
"date": {
"type": "string"
},
"dateDescription": {
"type": "string"
},
"dateLoggedUTC": {
"type": "string"
},
"decimalHours": {
"type": "number"
},
"description": {
"type": "string"
},
"hours": {
"type": "integer"
},
"id": {
"type": "integer"
},
"invoiceRate": {
"type": "number"
},
"isSummarized": {
"type": "boolean"
},
"lineItemDescription": {
"type": "string"
},
"lineItemTitle": {
"type": "string"
},
"minutes": {
"type": "integer"
},
"summarizationKey": {
"type": "string"
},
"taskDescription": {
"type": "string"
},
"taskId": {
"type": "integer"
},
"taskListId": {
"type": "integer"
},
"taskListName": {
"type": "string"
},
"taskName": {
"type": "string"
},
"totalMinutes": {
"type": "integer"
},
"userFirstName": {
"type": "string"
},
"userFullName": {
"type": "string"
},
"userId": {
"type": "integer"
},
"userLastName": {
"type": "string"
}
},
"title": "LineItem",
"type": "object"
},
"view.LinkItem": {
"description": "LinkItem contains all the information returned from a link item.",
"properties": {
"category": {
"$ref": "#/definitions/view.Relationship"
},
"categoryId": {
"type": "integer"
},
"code": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"description": {
"type": "string"
},
"forceNewWindow": {
"type": "integer"
},
"height": {
"type": "integer"
},
"id": {
"type": "integer"
},
"isPrivate": {
"type": "boolean"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"provider": {
"type": "string"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"title": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"width": {
"type": "integer"
}
},
"title": "LinkItem",
"type": "object"
},
"view.Lockdown": {
"description": "Lockdown contains all the information returned from a lockdown.",
"properties": {
"grantAccessTo": {
"$ref": "#/definitions/view.UserGroupsDeprecated"
},
"id": {
"type": "integer"
},
"items": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"updatedAt": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userID": {
"type": "integer"
}
},
"title": "Lockdown",
"type": "object"
},
"view.Logo": {
"description": "Logo contains all the information returned from a form custom logo.",
"properties": {
"url": {
"type": "string"
}
},
"title": "Logo",
"type": "object"
},
"view.Message": {
"description": "Message contains all the information returned from a project message.",
"properties": {
"attachments": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"author": {
"$ref": "#/definitions/view.Relationship"
},
"body": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastReply": {
"$ref": "#/definitions/view.Relationship"
},
"lockdown": {
"$ref": "#/definitions/view.Relationship"
},
"message": {
"$ref": "#/definitions/view.Relationship"
},
"meta": {
"$ref": "#/definitions/view.MessageReplyMeta"
},
"peopleNotifiedCount": {
"type": "integer"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"replyId": {
"type": "integer"
},
"replyStatus": {
"type": "string"
},
"status": {
"type": "string"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"title": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
},
"title": "Message",
"type": "object"
},
"view.MessageReply": {
"description": "MessageReply contains all the information returned from a project message.",
"properties": {
"attachments": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"author": {
"$ref": "#/definitions/view.Relationship"
},
"body": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"message": {
"$ref": "#/definitions/view.Relationship"
},
"meta": {
"$ref": "#/definitions/view.MessageReplyMeta"
},
"peopleNotifiedCount": {
"type": "integer"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
},
"title": "MessageReply",
"type": "object"
},
"view.MessageReplyMeta": {
"description": "MessageReplyMeta is the message reply meta.",
"properties": {
"isRead": {
"type": "boolean"
},
"permissions": {
"properties": {
"canEdit": {
"type": "boolean"
}
},
"type": "object"
}
},
"title": "MessageReplyMeta",
"type": "object"
},
"view.Meta": {
"description": "Meta represents the Unified API meta object.",
"properties": {
"averageSpend": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"nextCursor": {
"type": "string"
},
"page": {
"$ref": "#/definitions/view.MetaPage"
},
"prevCursor": {
"type": "string"
},
"totalCapacity": {
"type": "integer"
}
},
"title": "Meta",
"type": "object"
},
"view.MetaPage": {
"description": "MetaPage represents the Unified API page meta object.",
"properties": {
"count": {
"type": "integer"
},
"hasMore": {
"type": "boolean"
},
"pageOffset": {
"type": "integer"
},
"pageSize": {
"type": "integer"
}
},
"title": "MetaPage",
"type": "object"
},
"view.Milestone": {
"description": "Milestone contains all the information returned from a milestone.",
"properties": {
"canComplete": {
"type": "boolean"
},
"canEdit": {
"description": "permissions",
"type": "boolean"
},
"changeFollowerIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"changeFollowers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"commentFollowerIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"commentFollowers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"commentsCount": {
"type": "integer"
},
"completed": {
"type": "boolean"
},
"completedBy": {
"type": "integer"
},
"completedOn": {
"type": "string"
},
"completerId": {
"type": "integer"
},
"createdBy": {
"type": "integer"
},
"createdOn": {
"type": "string"
},
"creatorUserId": {
"type": "integer"
},
"deadline": {
"type": "string"
},
"description": {
"type": "string"
},
"descriptionHTML": {
"type": "string"
},
"id": {
"type": "integer"
},
"isDeleted": {
"type": "boolean"
},
"lastChangedOn": {
"type": "string"
},
"latestUpdates": {
"items": {
"$ref": "#/definitions/view.Audit"
},
"type": "array"
},
"lockdown": {
"$ref": "#/definitions/view.Relationship"
},
"lockdownId": {
"type": "integer"
},
"name": {
"type": "string"
},
"numCommentsRead": {
"type": "integer"
},
"originalDueDate": {
"type": "string"
},
"percentageComplete": {
"type": "integer"
},
"percentageTasksCompleted": {
"type": "integer"
},
"private": {
"type": "boolean"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"reminder": {
"type": "boolean"
},
"responsibleParties": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"responsiblePartyIds": {
"description": "optional fields that are returned only when querying a milestone endpoint",
"items": {
"type": "integer"
},
"type": "array"
},
"status": {
"type": "string"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"tasklistIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tasklists": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"updatedBy": {
"type": "integer"
},
"userFollowingChanges": {
"type": "boolean"
},
"userFollowingComments": {
"type": "boolean"
}
},
"title": "Milestone",
"type": "object"
},
"view.MyTimesheet": {
"description": "MyTimesheet contains api response information for a timesheet",
"properties": {
"customRow": {
"$ref": "#/definitions/view.Relationship"
},
"dates": {
"additionalProperties": {
"$ref": "#/definitions/view.MyTimesheetDateSummary"
},
"type": "object"
},
"entity": {
"$ref": "#/definitions/view.Relationship"
},
"isCustomRow": {
"type": "boolean"
},
"total": {
"type": "integer"
}
},
"title": "MyTimesheet",
"type": "object"
},
"view.MyTimesheetDateSummary": {
"description": "MyTimesheetDateSummary contains total minutes and timelog ids for a date",
"properties": {
"timelogs": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"totalMinutes": {
"type": "integer"
}
},
"title": "MyTimesheetDateSummary",
"type": "object"
},
"view.MyTimesheetsTotals": {
"description": "MyTimesheetsTotals contains api response information for a timesheet totals",
"properties": {
"breakdown": {
"$ref": "#/definitions/view.Breakdown"
},
"dailyTotals": {
"type": "object"
},
"total": {
"type": "integer"
}
},
"title": "MyTimesheetsTotals",
"type": "object"
},
"view.Notebook": {
"description": "Notebook contains all the information returned from a notebook.",
"properties": {
"category": {
"$ref": "#/definitions/view.Relationship"
},
"categoryId": {
"type": "integer"
},
"changeFollowers": {
"$ref": "#/definitions/view.UserGroupsDeprecated"
},
"commentFollowers": {
"$ref": "#/definitions/view.UserGroupsDeprecated"
},
"commentsCount": {
"type": "integer"
},
"contentHTML": {
"type": "string"
},
"contents": {
"description": "can be optionally hidden on lists",
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"createdByUserID": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateDeleted": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"deletedByUserID": {
"type": "integer"
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"isFullWidth": {
"type": "boolean"
},
"isPrivate": {
"type": "boolean"
},
"latestVersionNo": {
"type": "integer"
},
"lockdown": {
"$ref": "#/definitions/view.Relationship"
},
"lockdownId": {
"type": "integer"
},
"locked": {
"type": "boolean"
},
"lockedAt": {
"type": "string"
},
"lockedBy": {
"type": "integer"
},
"name": {
"type": "string"
},
"notebookVersion": {
"$ref": "#/definitions/view.Relationship"
},
"notebookVersionCreatedDateTime": {
"type": "string"
},
"notebookVersionID": {
"type": "integer"
},
"notebookVersionUpdatedDateTime": {
"type": "string"
},
"privacy": {
"$ref": "#/definitions/view.UserGroupsDeprecated"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"readCommentsCount": {
"type": "integer"
},
"secureContent": {
"type": "boolean"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"type": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"updatedByUserID": {
"type": "integer"
},
"userFollowingChanges": {
"type": "boolean"
},
"userFollowingComments": {
"type": "boolean"
},
"versionCount": {
"type": "integer"
}
},
"title": "Notebook",
"type": "object"
},
"view.NotebookCategory": {
"description": "NotebookCategory contains all the information returned from a notebook category.",
"properties": {
"color": {
"type": "string"
},
"elementsCount": {
"type": "integer"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"parent": {
"$ref": "#/definitions/view.Relationship"
},
"parentId": {
"type": "integer"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
}
},
"title": "NotebookCategory",
"type": "object"
},
"view.NotebookVersion": {
"description": "NotebookVersion contains all the information returned from a notebook version.",
"properties": {
"contentHTML": {
"type": "string"
},
"contents": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"createdByUserID": {
"type": "integer"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"notebook": {
"$ref": "#/definitions/view.Relationship"
},
"notebookId": {
"type": "integer"
},
"updatedAt": {
"type": "string"
},
"versionId": {
"type": "integer"
},
"versionNumber": {
"type": "integer"
}
},
"title": "NotebookVersion",
"type": "object"
},
"view.Notification": {
"description": "Notification contains all the information returned from a notification.",
"properties": {
"action": {
"type": "string"
},
"command": {
"type": "string"
},
"date": {
"type": "string"
},
"description": {
"type": "string"
},
"event": {
"type": "string"
},
"extraDescription": {
"type": "string"
},
"extraInfo": {
"type": "string"
},
"extraLink": {
"type": "string"
},
"id": {
"type": "integer"
},
"installation": {
"$ref": "#/definitions/view.Relationship"
},
"item": {
"$ref": "#/definitions/view.NotificationItem"
},
"link": {
"type": "string"
},
"popUp": {
"type": "boolean"
},
"privacy": {
"$ref": "#/definitions/view.NotificationPrivacy"
},
"project": {
"$ref": "#/definitions/view.NotificationProject"
},
"read": {
"type": "boolean"
},
"user": {
"$ref": "#/definitions/view.NotificationUser"
}
},
"title": "Notification",
"type": "object"
},
"view.NotificationItem": {
"description": "NotificationItem contains the id and type being of what is being notified",
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"title": "NotificationItem",
"type": "object"
},
"view.NotificationPrivacy": {
"description": "NotificationPrivacy contains if the notification links to a private item",
"properties": {
"lockdownId": {
"type": "integer"
},
"private": {
"type": "boolean"
}
},
"title": "NotificationPrivacy",
"type": "object"
},
"view.NotificationProject": {
"description": "NotificationProject contains the project ID & and name of the associated notification",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"title": "NotificationProject",
"type": "object"
},
"view.NotificationUser": {
"description": "NotificationUser contains the user information for the notification",
"properties": {
"avatar_url": {
"type": "string"
},
"firstname": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastname": {
"type": "string"
}
},
"title": "NotificationUser",
"type": "object"
},
"view.PortfolioBoard": {
"description": "PortfolioBoard contains all the information returned from a portfolio board.",
"properties": {
"color": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"title": "PortfolioBoard",
"type": "object"
},
"view.PortfolioCard": {
"description": "PortfolioCard contains all the information returned from a portfolio\ncolumn.",
"properties": {
"board": {
"$ref": "#/definitions/view.Relationship"
},
"boardId": {
"type": "integer"
},
"column": {
"$ref": "#/definitions/view.Relationship"
},
"columnId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
}
},
"title": "PortfolioCard",
"type": "object"
},
"view.PortfolioColumn": {
"description": "PortfolioColumn contains all the information returned from a portfolio\ncolumn.",
"properties": {
"color": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"title": "PortfolioColumn",
"type": "object"
},
"view.ProfitDetails": {
"description": "ProfitDetails represents the totals.",
"properties": {
"billable": {
"type": "number"
},
"billableTime": {
"type": "integer"
},
"companyCount": {
"description": "used for totals summary",
"type": "integer"
},
"cost": {
"type": "number"
},
"expenses": {
"type": "number"
},
"loggedTime": {
"type": "integer"
},
"nonBillableTime": {
"type": "integer"
},
"ownerCount": {
"type": "integer"
},
"profit": {
"type": "number"
}
},
"title": "ProfitDetails",
"type": "object"
},
"view.ProjectBudget": {
"description": "ProjectBudget contains all the information returned from a budget.",
"properties": {
"baselineCapacity": {
"type": "integer"
},
"budgetCategory": {
"type": "string"
},
"budgetExpectedCost": {
"type": "integer"
},
"budgetExpectedProfit": {
"type": "integer"
},
"budgetProfitMargin": {
"type": "number"
},
"capacity": {
"type": "integer"
},
"capacityUsed": {
"type": "integer"
},
"carryCapacity": {
"type": "integer"
},
"carryOverspend": {
"type": "boolean"
},
"carryUnderspend": {
"type": "boolean"
},
"completedAt": {
"type": "string"
},
"completedBy": {
"type": "integer"
},
"completedByUserId": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"createdByUserId": {
"type": "integer"
},
"currencyCode": {
"type": "string"
},
"dateCompleted": {
"type": "string"
},
"dateCreated": {
"type": "string"
},
"dateDeleted": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"defaultRate": {
"type": "number"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"deletedByUserId": {
"type": "integer"
},
"endDate": {
"$ref": "#/definitions/view.Date"
},
"endDateTime": {
"type": "string"
},
"expenseType": {
"type": "string"
},
"financialDetailsHidden": {
"type": "boolean"
},
"id": {
"type": "integer"
},
"isRepeating": {
"type": "boolean"
},
"isRetainer": {
"type": "boolean"
},
"notificationIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"notifications": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"originatorBudget": {
"$ref": "#/definitions/view.Relationship"
},
"originatorBudgetId": {
"type": "integer"
},
"originatorStartDateTime": {
"type": "string"
},
"overspendAt": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"repeatPeriod": {
"type": "integer"
},
"repeatUnit": {
"type": "string"
},
"repeatsRemaining": {
"type": "integer"
},
"sequenceNumber": {
"type": "integer"
},
"startDate": {
"$ref": "#/definitions/view.Date"
},
"startDateTime": {
"type": "string"
},
"status": {
"type": "string"
},
"timelogType": {
"type": "string"
},
"type": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"updatedByUserId": {
"type": "integer"
}
},
"title": "ProjectBudget",
"type": "object"
},
"view.ProjectCategory": {
"description": "ProjectCategory contains all the information returned from a project\ncategory.",
"properties": {
"color": {
"type": "string"
},
"count": {
"type": "integer"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"parent": {
"$ref": "#/definitions/view.Relationship"
},
"parentId": {
"type": "integer"
}
},
"title": "ProjectCategory",
"type": "object"
},
"view.ProjectEmailDropbox": {
"description": "ProjectEmailDropbox contains all the information returned from a file\ncategory.",
"properties": {
"id": {
"type": "integer"
},
"itemCode": {
"type": "string"
},
"itemEmail": {
"type": "string"
},
"itemType": {
"type": "string"
},
"parent": {
"$ref": "#/definitions/view.Relationship"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectCode": {
"type": "string"
},
"projectEmails": {
"$ref": "#/definitions/view.ProjectEmails"
}
},
"title": "ProjectEmailDropbox",
"type": "object"
},
"view.ProjectEmails": {
"description": "ProjectEmails is the project emails.",
"properties": {
"files": {
"type": "string"
},
"links": {
"type": "string"
},
"messages": {
"type": "string"
},
"notebooks": {
"type": "string"
},
"tasks": {
"type": "string"
}
},
"title": "ProjectEmails",
"type": "object"
},
"view.ProjectFileV205": {
"description": "ProjectFileV205 contains all the information returned from a file.",
"properties": {
"category": {
"$ref": "#/definitions/view.Relationship"
},
"categoryId": {
"type": "integer"
},
"changeFollowers": {
"$ref": "#/definitions/view.UserGroupsDeprecated"
},
"commentFollowers": {
"$ref": "#/definitions/view.UserGroupsDeprecated"
},
"commentsCount": {
"type": "integer"
},
"commentsCountRead": {
"type": "integer"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"downloadURL": {
"type": "string"
},
"extraData": {
"type": "string"
},
"fileSource": {
"type": "string"
},
"filenameOnDisk": {
"type": "string"
},
"id": {
"type": "integer"
},
"isLocked": {
"type": "boolean"
},
"isPrivate": {
"description": "IsPrivate can have the values 0 for public, 1 for private and 2 for\ninherited.",
"enum": [
"0",
"1",
"2"
],
"type": "integer"
},
"latestFileVersionNo": {
"type": "integer"
},
"lockdown": {
"$ref": "#/definitions/view.Relationship"
},
"lockdownId": {
"type": "integer"
},
"lockedAt": {
"type": "string"
},
"lockedBy": {
"type": "integer"
},
"lockedByUserId": {
"type": "integer"
},
"lockedDate": {
"type": "string"
},
"meta": {
"type": "object"
},
"numLikes": {
"type": "integer"
},
"originalName": {
"type": "string"
},
"previewURL": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"reactions": {
"$ref": "#/definitions/view.ReactionsForObject"
},
"relatedItems": {
"$ref": "#/definitions/view.RelatedItems"
},
"size": {
"type": "integer"
},
"status": {
"type": "string"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"thumbURL": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"uploadedAt": {
"type": "string"
},
"uploadedBy": {
"type": "integer"
},
"uploadedByUserID": {
"type": "integer"
},
"uploadedDate": {
"type": "string"
},
"version": {
"$ref": "#/definitions/view.Relationship"
},
"versionId": {
"type": "integer"
},
"versions": {
"items": {
"$ref": "#/definitions/view.FileversionV205"
},
"type": "array"
}
},
"title": "ProjectFileV205",
"type": "object"
},
"view.ProjectMinMaxAvailableDates": {
"description": "ProjectMinMaxAvailableDates shows suggested start and\nend dates for a project.",
"properties": {
"deadlinesFound": {
"type": "boolean"
},
"maxEndDate": {
"type": "string"
},
"minStartDate": {
"type": "string"
},
"suggestedEndDate": {
"type": "string"
},
"suggestedStartDate": {
"type": "string"
}
},
"title": "ProjectMinMaxAvailableDates",
"type": "object"
},
"view.ProjectPermissions": {
"description": "ProjectPermissions determines the user permissions associated with a project.",
"properties": {
"active": {
"type": "boolean"
},
"addExpenses": {
"type": "boolean"
},
"addFiles": {
"type": "boolean"
},
"addForms": {
"type": "boolean"
},
"addLinks": {
"type": "boolean"
},
"addMessages": {
"type": "boolean"
},
"addMilestones": {
"type": "boolean"
},
"addNotebooks": {
"type": "boolean"
},
"addProjectUpdate": {
"type": "boolean"
},
"addRisks": {
"type": "boolean"
},
"addTaskLists": {
"type": "boolean"
},
"addTasks": {
"type": "boolean"
},
"addTime": {
"type": "boolean"
},
"canAccess": {
"type": "boolean"
},
"canEditWorkflows": {
"type": "boolean"
},
"canManagePeople": {
"type": "boolean"
},
"canManageProjectBudget": {
"type": "boolean"
},
"canManageProjectMembership": {
"type": "boolean"
},
"canManageProjectTemplates": {
"type": "boolean"
},
"canManageRates": {
"type": "boolean"
},
"canManageSchedule": {
"type": "boolean"
},
"canViewForms": {
"type": "boolean"
},
"canViewProjectBudget": {
"type": "boolean"
},
"canViewProjectMembers": {
"type": "boolean"
},
"canViewProjectTemplates": {
"type": "boolean"
},
"canViewRates": {
"type": "boolean"
},
"canViewSchedule": {
"type": "boolean"
},
"canViewWorkflows": {
"type": "boolean"
},
"editAllTasks": {
"type": "boolean"
},
"inOwnerCompany": {
"type": "boolean"
},
"isArchived": {
"type": "boolean"
},
"isObserving": {
"type": "boolean"
},
"manageCustomFields": {
"type": "boolean"
},
"projectAdministrator": {
"type": "boolean"
},
"receiveEmailNotifications": {
"type": "boolean"
},
"setPrivacy": {
"type": "boolean"
},
"viewAllTimeLogs": {
"type": "boolean"
},
"viewEstimatedTime": {
"type": "boolean"
},
"viewInvoices": {
"type": "boolean"
},
"viewLinks": {
"type": "boolean"
},
"viewMessagesAndFiles": {
"type": "boolean"
},
"viewNotebooks": {
"type": "boolean"
},
"viewProjectUpdate": {
"type": "boolean"
},
"viewRiskRegister": {
"type": "boolean"
},
"viewTasksAndMilestones": {
"type": "boolean"
},
"viewTime": {
"type": "boolean"
}
},
"title": "ProjectPermissions",
"type": "object"
},
"view.ProjectUpdate": {
"description": "ProjectUpdate contains all the information returned from a update.",
"properties": {
"color": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"health": {
"type": "integer"
},
"healthLabel": {
"type": "string"
},
"id": {
"type": "integer"
},
"isActive": {
"type": "boolean"
},
"likeFromUserIDs": {
"items": {
"type": "integer"
},
"type": "array"
},
"likeFromUsers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"reactions": {
"$ref": "#/definitions/view.ReactionsForObject"
},
"text": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
},
"title": "ProjectUpdate",
"type": "object"
},
"view.ProjectV205": {
"description": "ProjectV205 contains all the information returned from a project.",
"properties": {
"activePages": {
"properties": {
"billing": {
"type": "boolean"
},
"board": {
"type": "boolean"
},
"comments": {
"type": "boolean"
},
"files": {
"type": "boolean"
},
"finance": {
"type": "boolean"
},
"forms": {
"type": "boolean"
},
"gantt": {
"type": "boolean"
},
"links": {
"type": "boolean"
},
"list": {
"type": "boolean"
},
"messages": {
"type": "boolean"
},
"milestones": {
"type": "boolean"
},
"notebooks": {
"type": "boolean"
},
"proofs": {
"type": "boolean"
},
"riskRegister": {
"type": "boolean"
},
"table": {
"type": "boolean"
},
"tasks": {
"type": "boolean"
},
"tickets": {
"type": "boolean"
},
"time": {
"type": "boolean"
}
},
"type": "object"
},
"allowNotifyAnyone": {
"type": "boolean"
},
"announcement": {
"type": "string"
},
"category": {
"$ref": "#/definitions/view.Relationship"
},
"categoryId": {
"type": "integer"
},
"company": {
"$ref": "#/definitions/view.Relationship"
},
"companyId": {
"type": "integer"
},
"completedAt": {
"type": "string"
},
"completedBy": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"customFieldValueIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"customFieldValues": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"customfieldValues": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"defaultPrivacy": {
"type": "string"
},
"description": {
"type": "string"
},
"directFileUploadsEnabled": {
"type": "boolean"
},
"endAt": {
"type": "string"
},
"endDate": {
"type": "string"
},
"financialBudget": {
"$ref": "#/definitions/view.Relationship"
},
"financialBudgetId": {
"type": "integer"
},
"harvestTimersEnabled": {
"type": "boolean"
},
"id": {
"type": "integer"
},
"integrations": {
"properties": {
"googleDrive": {
"properties": {
"access": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"folder": {
"type": "string"
},
"folderName": {
"type": "string"
}
},
"type": "object"
},
"oneDriveBusiness": {
"properties": {
"account": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"folder": {
"type": "string"
},
"folderName": {
"type": "string"
}
},
"type": "object"
},
"sharepoint": {
"properties": {
"account": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"folder": {
"type": "string"
},
"folderName": {
"type": "string"
}
},
"type": "object"
},
"xero": {
"properties": {
"baseCurrency": {
"type": "string"
},
"connected": {
"type": "boolean"
},
"countryCode": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"organisation": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"isBillable": {
"type": "boolean"
},
"isOnBoardingProject": {
"type": "boolean"
},
"isProjectAdmin": {
"type": "boolean"
},
"isSampleProject": {
"type": "boolean"
},
"isStarred": {
"type": "boolean"
},
"lastWorkedOn": {
"type": "string"
},
"latestActivity": {
"$ref": "#/definitions/view.Relationship"
},
"logo": {
"type": "string"
},
"logoColor": {
"type": "string"
},
"logoIcon": {
"type": "string"
},
"minMaxAvailableDates": {
"$ref": "#/definitions/view.ProjectMinMaxAvailableDates"
},
"name": {
"type": "string"
},
"notifyCommentIncludeCreator": {
"type": "boolean"
},
"notifyEveryone": {
"type": "boolean"
},
"notifyTaskAssignee": {
"type": "boolean"
},
"overviewStartPage": {
"type": "string"
},
"ownedBy": {
"type": "integer"
},
"ownerId": {
"type": "integer"
},
"portfolioCards": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"privacyEnabled": {
"type": "boolean"
},
"projectOwner": {
"$ref": "#/definitions/view.Relationship"
},
"projectOwnerId": {
"type": "integer"
},
"replyByEmailEnabled": {
"type": "boolean"
},
"showAnnouncement": {
"type": "boolean"
},
"skipWeekends": {
"type": "boolean"
},
"startAt": {
"type": "string"
},
"startDate": {
"type": "string"
},
"startPage": {
"type": "string"
},
"status": {
"type": "string"
},
"subStatus": {
"type": "string"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"tasksStartPage": {
"type": "string"
},
"timeBudget": {
"$ref": "#/definitions/view.Relationship"
},
"timeBudgetId": {
"type": "integer"
},
"type": {
"type": "string"
},
"update": {
"$ref": "#/definitions/view.Relationship"
},
"updateId": {
"type": "integer"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"users": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"workflows": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
}
},
"title": "ProjectV205",
"type": "object"
},
"view.Proof": {
"description": "Proof contains all the information returned from a proof.",
"properties": {
"assignees": {
"items": {
"$ref": "#/definitions/view.Assignee"
},
"type": "array"
},
"company": {
"$ref": "#/definitions/view.Relationship"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"$ref": "#/definitions/view.Relationship"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"$ref": "#/definitions/view.Relationship"
},
"due": {
"$ref": "#/definitions/view.Date"
},
"entity": {
"$ref": "#/definitions/view.Relationship"
},
"errorObjectIdxs": {
"items": {
"type": "integer"
},
"type": "array"
},
"feedbackCount": {
"type": "integer"
},
"id": {
"type": "integer"
},
"installationId": {
"$ref": "#/definitions/view.Relationship"
},
"objects": {
"items": {
"$ref": "#/definitions/view.ProofObject"
},
"type": "array"
},
"parent": {
"$ref": "#/definitions/view.Relationship"
},
"product": {
"type": "string"
},
"state": {
"type": "string"
},
"status": {
"type": "string"
},
"title": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"$ref": "#/definitions/view.Relationship"
}
},
"title": "Proof",
"type": "object"
},
"view.ProofObject": {
"description": "ProofObject is a proof object item type.",
"properties": {
"URL": {
"type": "string"
},
"approvalStatus": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"$ref": "#/definitions/view.Relationship"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"$ref": "#/definitions/view.Relationship"
},
"due": {
"type": "string"
},
"format": {
"type": "string"
},
"id": {
"type": "integer"
},
"installationId": {
"$ref": "#/definitions/view.Relationship"
},
"size": {
"type": "integer"
},
"sourceFormat": {
"type": "string"
},
"state": {
"type": "string"
},
"stateMessage": {
"type": "string"
},
"thumbnail": {
"type": "string"
},
"title": {
"type": "string"
},
"totalChunks": {
"type": "integer"
},
"type": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"$ref": "#/definitions/view.Relationship"
},
"version": {
"type": "integer"
}
},
"title": "ProofObject",
"type": "object"
},
"view.PublicForm": {
"description": "PublicForm is a publically viewable version of Form",
"properties": {
"allowFileUpload": {
"type": "boolean"
},
"allowTeamworkBranding": {
"type": "boolean"
},
"backgroundColor": {
"type": "string"
},
"confirmationMessage": {
"type": "string"
},
"content": {
"$ref": "#/definitions/view.Content"
},
"createFormTask": {
"type": "boolean"
},
"primaryColor": {
"type": "string"
},
"promptAdditionalSubmissions": {
"type": "boolean"
},
"redirectUrl": {
"type": "string"
},
"showProgressBar": {
"type": "boolean"
},
"submitButtonText": {
"type": "string"
},
"token": {
"$ref": "#/definitions/view.Token"
}
},
"title": "PublicForm",
"type": "object"
},
"view.Reaction": {
"description": "Reaction is a reaction item type.",
"properties": {
"installation": {
"$ref": "#/definitions/view.Relationship"
},
"installationId": {
"type": "integer"
},
"object": {
"$ref": "#/definitions/view.Relationship"
},
"objectId": {
"type": "integer"
},
"objectType": {
"type": "string"
},
"postedDateTime": {
"type": "string"
},
"type": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "Reaction",
"type": "object"
},
"view.ReactionsForObject": {
"description": "ReactionsForObject contains all reactions information of a specific object.",
"properties": {
"counts": {
"$ref": "#/definitions/view.ReactionsForObjectCounter"
},
"mine": {
"items": {
"type": "string"
},
"type": "array"
}
},
"title": "ReactionsForObject",
"type": "object"
},
"view.ReactionsForObjectCounter": {
"description": "ReactionsForObjectCounter contains the reactions counter of a specific\nobject.",
"properties": {
"dislike": {
"type": "integer"
},
"frown": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"joy": {
"type": "integer"
},
"like": {
"type": "integer"
}
},
"title": "ReactionsForObjectCounter",
"type": "object"
},
"view.RelatedItems": {
"description": "RelatedItems represents the items a file can be related to.",
"properties": {
"comments": {
"items": {
"type": "integer"
},
"type": "array"
},
"messages": {
"items": {
"type": "integer"
},
"type": "array"
},
"tasks": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "RelatedItems",
"type": "object"
},
"view.Relationship": {
"description": "Relationship describes the relation between the main entity and a sideload type.",
"properties": {
"id": {
"type": "integer"
},
"meta": {
"type": "object"
},
"type": {
"type": "string"
}
},
"title": "Relationship",
"type": "object"
},
"view.ReportUtilizationData": {
"description": "ReportUtilizationData contains report total, period totals and users data",
"properties": {
"actualUtilization": {
"type": "number"
},
"allocatedMinutes": {
"type": "integer"
},
"allocatedMinutesAverage": {
"type": "number"
},
"allocatedUtilization": {
"type": "number"
},
"availableMinutes": {
"type": "integer"
},
"availableMinutesAverage": {
"type": "number"
},
"availableUtilization": {
"type": "number"
},
"averageCompanyCount": {
"type": "number"
},
"averageUtilizationAchieved": {
"type": "number"
},
"billableMinutes": {
"description": "report specific",
"type": "integer"
},
"billableMinutesAverage": {
"type": "number"
},
"billableUtilization": {
"type": "number"
},
"endDate": {
"$ref": "#/definitions/view.Date"
},
"estimatedBillableUtilization": {
"type": "number"
},
"estimatedMinutes": {
"type": "integer"
},
"estimatedMinutesAverage": {
"type": "number"
},
"estimatedNonBillableUtilization": {
"type": "number"
},
"estimatedUtilization": {
"type": "number"
},
"loggedMinutes": {
"type": "integer"
},
"loggedMinutesAverage": {
"type": "number"
},
"nonBillableUtilization": {
"type": "number"
},
"periodTotals": {
"items": {
"$ref": "#/definitions/view.UtilizationTotals"
},
"type": "array"
},
"rowsCount": {
"type": "integer"
},
"startDate": {
"$ref": "#/definitions/view.Date"
},
"totalWorkingMinutes": {
"type": "integer"
},
"totalWorkingMinutesAverage": {
"type": "number"
},
"unavailableMinutes": {
"type": "integer"
},
"unavailableMinutesAverage": {
"type": "number"
},
"unavailableUtilization": {
"type": "number"
},
"unbillableMinutes": {
"type": "integer"
},
"unbillableMinutesAverage": {
"type": "number"
},
"uniqueCompanyCount": {
"type": "integer"
},
"users": {
"items": {
"$ref": "#/definitions/view.UserUtilization"
},
"type": "array"
},
"usersInTarget": {
"type": "integer"
}
},
"title": "ReportUtilizationData",
"type": "object"
},
"view.Risk": {
"description": "Risk represents a view of a risk.",
"properties": {
"canEdit": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"createdByUserId": {
"type": "integer"
},
"createdOn": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"id": {
"type": "integer"
},
"impact": {
"type": "string"
},
"impactCost": {
"type": "boolean"
},
"impactPerformance": {
"type": "boolean"
},
"impactSchedule": {
"type": "boolean"
},
"impactValue": {
"type": "integer"
},
"lastChangedByUserId": {
"type": "integer"
},
"lastChangedOn": {
"type": "string"
},
"mitigationPlan": {
"type": "string"
},
"probability": {
"type": "string"
},
"probabilityValue": {
"type": "integer"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"result": {
"type": "integer"
},
"source": {
"type": "string"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
}
},
"title": "Risk",
"type": "object"
},
"view.SampleProject": {
"description": "SampleProject contains all the sample project information.",
"properties": {
"categoryId": {
"type": "integer"
},
"code": {
"type": "string"
},
"content": {},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"id": {
"type": "integer"
},
"imagePreview": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "SampleProject",
"type": "object"
},
"view.Stage": {
"description": "Stage contains all the information returned from a stage.",
"properties": {
"color": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"displayOrder": {
"type": "number"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"showCompletedTasks": {
"type": "boolean"
},
"taskIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"workflow": {
"$ref": "#/definitions/view.Relationship"
}
},
"title": "Stage",
"type": "object"
},
"view.Status": {
"description": "Status contains all the information returned from a status.",
"properties": {
"dateLastUpdated": {
"type": "string"
},
"dateTime": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"emoji": {
"type": "string"
},
"id": {
"type": "integer"
},
"ipAddress": {
"type": "string"
},
"text": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "Status",
"type": "object"
},
"view.Tag": {
"description": "Tag contains all the information returned from a tag.",
"properties": {
"color": {
"type": "string"
},
"count": {
"type": "integer"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
}
},
"title": "Tag",
"type": "object"
},
"view.TaskAffectedV205": {
"description": "TaskAffectedV205 contains the affected tasks, for real-time updates",
"properties": {
"linkedCardId": {
"type": "integer"
},
"linkedColumnId": {
"type": "integer"
},
"linkedColumnName": {
"type": "string"
},
"taskIds": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"title": "TaskAffectedV205",
"type": "object"
},
"view.TaskCard": {
"description": "TaskCard contains all the information returned from a card.",
"properties": {
"archived": {
"type": "boolean"
},
"archivedAt": {
"type": "string"
},
"archivedBy": {
"$ref": "#/definitions/view.Relationship"
},
"column": {
"$ref": "#/definitions/view.Relationship"
},
"createBy": {
"$ref": "#/definitions/view.Relationship"
},
"createdAt": {
"type": "string"
},
"deleteBy": {
"$ref": "#/definitions/view.Relationship"
},
"deletedAt": {
"type": "string"
},
"displayOrder": {
"type": "integer"
},
"id": {
"type": "integer"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"visible": {
"type": "boolean"
}
},
"title": "TaskCard",
"type": "object"
},
"view.TaskPermissions": {
"description": "TaskPermissions is a user specific set of task permissions",
"properties": {
"canAddSubtasks": {
"type": "boolean"
},
"canComplete": {
"type": "boolean"
},
"canEdit": {
"type": "boolean"
},
"canLogTime": {
"type": "boolean"
},
"canViewEstTime": {
"type": "boolean"
}
},
"title": "TaskPermissions",
"type": "object"
},
"view.TaskReminder": {
"description": "TaskReminder contains all the information returned from a reminder.",
"properties": {
"createdAt": {
"type": "string"
},
"createdBy": {
"$ref": "#/definitions/view.Relationship"
},
"id": {
"type": "integer"
},
"isRelative": {
"type": "boolean"
},
"note": {
"type": "string"
},
"relativeNumberDays": {
"type": "integer"
},
"remindAt": {
"type": "string"
},
"task": {
"$ref": "#/definitions/view.Relationship"
},
"type": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"wasSent": {
"type": "boolean"
}
},
"title": "TaskReminder",
"type": "object"
},
"view.TaskSequence": {
"description": "TaskSequence defines how entity.TaskSequence should be rendered.",
"properties": {
"dates": {
"items": {
"$ref": "#/definitions/view.Date"
},
"type": "array"
},
"duration": {
"type": "integer"
},
"endDate": {
"type": "string"
},
"frequency": {
"type": "string"
},
"id": {
"type": "integer"
},
"installationId": {
"type": "integer"
},
"monthlyRepeatType": {
"type": "string"
},
"rrule": {
"type": "string"
},
"selectedWeekDays": {
"items": {
"type": "string"
},
"type": "array"
},
"tasks": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
}
},
"title": "TaskSequence",
"type": "object"
},
"view.TaskStats": {
"description": "TaskStats shows basic task stats",
"properties": {
"active": {
"type": "integer"
},
"complete": {
"type": "integer"
},
"id": {
"type": "integer"
},
"late": {
"type": "integer"
}
},
"title": "TaskStats",
"type": "object"
},
"view.TaskTimeTotals": {
"description": "TaskTimeTotals contains time total info for a task",
"properties": {
"billableLoggedMinutes": {
"type": "integer"
},
"billedloggedMinutes": {
"type": "integer"
},
"loggedMinutes": {
"type": "integer"
}
},
"title": "TaskTimeTotals",
"type": "object"
},
"view.TaskV205": {
"description": "TaskV205 defines how entity.Task should be rendered.",
"properties": {
"accumulatedEstimatedMinutes": {
"type": "integer"
},
"assigneeCompanies": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"assigneeCompanyIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"assigneeTeamIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"assigneeTeams": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"assigneeUserIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"assigneeUsers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"assignees": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"attachments": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"capacities": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"card": {
"$ref": "#/definitions/view.Relationship"
},
"changeFollowers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"column": {
"$ref": "#/definitions/view.Relationship"
},
"commentFollowers": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"completedAt": {
"type": "string"
},
"completedBy": {
"type": "integer"
},
"completedOn": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"createdByUserId": {
"type": "integer"
},
"crmDealIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"dateUpdated": {
"type": "string"
},
"decimalDisplayOrder": {
"type": "number"
},
"dependencyIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"description": {
"type": "string"
},
"descriptionContentType": {
"type": "string"
},
"displayOrder": {
"type": "integer"
},
"dueDate": {
"type": "string"
},
"dueDateOffset": {
"type": "integer"
},
"estimateMinutes": {
"type": "integer"
},
"hasDeskTickets": {
"type": "boolean"
},
"hasReminders": {
"type": "boolean"
},
"id": {
"type": "integer"
},
"isArchived": {
"type": "boolean"
},
"isBlocked": {
"type": "boolean"
},
"isPrivate": {
"type": "integer"
},
"latestUpdates": {
"items": {
"$ref": "#/definitions/view.Audit"
},
"type": "array"
},
"lockdown": {
"$ref": "#/definitions/view.Relationship"
},
"meta": {
"type": "object"
},
"name": {
"type": "string"
},
"notify": {
"type": "boolean"
},
"originalDueDate": {
"$ref": "#/definitions/view.Date"
},
"outOfSequence": {
"type": "boolean"
},
"parentTask": {
"$ref": "#/definitions/view.Relationship"
},
"parentTaskId": {
"type": "integer"
},
"predecessorIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"predecessors": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"priority": {
"type": "string"
},
"progress": {
"type": "integer"
},
"proofs": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"sequence": {
"$ref": "#/definitions/view.Relationship"
},
"sequenceDueDate": {
"$ref": "#/definitions/view.Date"
},
"sequenceId": {
"type": "integer"
},
"sequenceRootTask": {
"type": "boolean"
},
"sequenceStartDate": {
"$ref": "#/definitions/view.Date"
},
"startDate": {
"type": "string"
},
"startDateOffset": {
"type": "integer"
},
"status": {
"type": "string"
},
"subTaskIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"tasklist": {
"$ref": "#/definitions/view.Relationship"
},
"tasklistId": {
"type": "integer"
},
"templateRoleName": {
"type": "string"
},
"timer": {
"$ref": "#/definitions/view.Relationship"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"userPermissions": {
"$ref": "#/definitions/view.TaskPermissions"
},
"workflowStages": {
"items": {
"$ref": "#/definitions/view.TaskWorkflowStageData"
},
"type": "array"
}
},
"title": "TaskV205",
"type": "object"
},
"view.TaskWorkflowStageData": {
"description": "TaskWorkflowStageData contains the workflow data for a task",
"properties": {
"stageId": {
"type": "integer"
},
"stageTaskDisplayOrder": {
"type": "number"
},
"workflowId": {
"type": "integer"
}
},
"title": "TaskWorkflowStageData",
"type": "object"
},
"view.Taskgroup": {
"description": "Taskgroup contains all the information returned from a Taskgroup.",
"properties": {
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"description": {
"type": "string"
},
"displayOrder": {
"type": "number"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"taskIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
}
},
"title": "Taskgroup",
"type": "object"
},
"view.Tasklist": {
"description": "Tasklist contains all the information returned from a tasklist.",
"properties": {
"createdAt": {
"type": "string"
},
"defaultTask": {
"$ref": "#/definitions/view.Relationship"
},
"defaultTaskId": {
"type": "integer"
},
"description": {
"type": "string"
},
"displayOrder": {
"type": "integer"
},
"icon": {
"type": "string"
},
"id": {
"type": "integer"
},
"isBillable": {
"type": "boolean"
},
"isPinned": {
"type": "boolean"
},
"isPrivate": {
"type": "boolean"
},
"lockdownId": {
"type": "integer"
},
"milestone": {
"$ref": "#/definitions/view.Relationship"
},
"milestoneId": {
"type": "integer"
},
"name": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"status": {
"type": "string"
},
"tasklistBudget": {
"$ref": "#/definitions/view.Relationship"
},
"updatedAt": {
"type": "string"
}
},
"title": "Tasklist",
"type": "object"
},
"view.TasklistBudget": {
"description": "TasklistBudget is a budget item type.",
"properties": {
"capacity": {
"type": "integer"
},
"capacityUsed": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"id": {
"type": "integer"
},
"installationId": {
"type": "integer"
},
"notificationIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"notifications": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"projectBudgetId": {
"type": "integer"
},
"projectId": {
"type": "integer"
},
"projectbudget": {
"$ref": "#/definitions/view.Relationship"
},
"tasklist": {
"$ref": "#/definitions/view.Relationship"
},
"tasklistId": {
"type": "integer"
},
"type": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
}
},
"title": "TasklistBudget",
"type": "object"
},
"view.TasklistBudgetNotification": {
"description": "TasklistBudgetNotification contains all the information returned from a notification.",
"properties": {
"budgetId": {
"type": "integer"
},
"capacityThreshold": {
"type": "number"
},
"companyId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"notificationMedium": {
"type": "string"
},
"teamId": {
"type": "integer"
},
"userId": {
"type": "integer"
}
},
"title": "TasklistBudgetNotification",
"type": "object"
},
"view.Team": {
"description": "Team contains all the information returned from a team.",
"properties": {
"company": {
"$ref": "#/definitions/view.Relationship"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"$ref": "#/definitions/view.Relationship"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"teamLogo": {
"type": "string"
},
"teamLogoColor": {
"type": "string"
},
"teamLogoIcon": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"$ref": "#/definitions/view.Relationship"
}
},
"title": "Team",
"type": "object"
},
"view.TeamsDashboard": {
"description": "TeamsDashboard contains all the information returned from a utilization.",
"properties": {
"data": {
"$ref": "#/definitions/view.DashboardData"
},
"team": {
"$ref": "#/definitions/view.Relationship"
},
"teamId": {
"type": "integer"
},
"users": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
}
},
"title": "TeamsDashboard",
"type": "object"
},
"view.Timelog": {
"description": "Timelog contains all the information returned from a timelog.",
"properties": {
"assignedTeamIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"billable": {
"type": "boolean"
},
"billableInfo": {
"$ref": "#/definitions/view.BillableInfo"
},
"costInfo": {
"$ref": "#/definitions/view.CostInfo"
},
"createdAt": {
"type": "string"
},
"dateCreated": {
"type": "string"
},
"dateDeleted": {
"type": "string"
},
"dateEdited": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"deletedBy": {
"type": "integer"
},
"deletedByUserId": {
"type": "integer"
},
"description": {
"type": "string"
},
"deskTicketId": {
"type": "integer"
},
"editedByUserId": {
"type": "integer"
},
"hasStartTime": {
"type": "boolean"
},
"id": {
"type": "integer"
},
"isBillable": {
"type": "boolean"
},
"loggedBy": {
"type": "integer"
},
"loggedByUserId": {
"type": "integer"
},
"minutes": {
"type": "integer"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectBillingInvoice": {
"$ref": "#/definitions/view.Relationship"
},
"projectBillingInvoiceId": {
"type": "integer"
},
"projectId": {
"type": "integer"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"tags": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"task": {
"$ref": "#/definitions/view.Relationship"
},
"taskId": {
"type": "integer"
},
"taskIdPreMove": {
"type": "integer"
},
"taskPreMove": {
"$ref": "#/definitions/view.Relationship"
},
"timeLogged": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "Timelog",
"type": "object"
},
"view.TimelogTotals": {
"description": "TimelogTotals contains all the information returned for timelog totals.",
"properties": {
"estimatedMinutes": {
"type": "integer"
},
"estimatedMinutesActive": {
"type": "integer"
},
"estimatedMinutesCompleted": {
"type": "integer"
},
"estimatedMinutesFiltered": {
"type": "integer"
},
"estimatedMinutesWithLoggedTime": {
"type": "integer"
},
"minutes": {
"type": "integer"
},
"minutesBillable": {
"type": "integer"
},
"minutesBilled": {
"type": "integer"
},
"minutesNonBillable": {
"type": "integer"
},
"minutesNonBilled": {
"type": "integer"
}
},
"title": "TimelogTotals",
"type": "object"
},
"view.TimelogTotalsSubtasks": {
"description": "TimelogTotalsSubtasks contains all the information returned for timelog totals for subtasks.",
"properties": {
"estimatedMinutes": {
"type": "integer"
},
"minutes": {
"type": "integer"
},
"minutesBillable": {
"type": "integer"
}
},
"title": "TimelogTotalsSubtasks",
"type": "object"
},
"view.Timer": {
"description": "Timer contains all the information returned from a timer.",
"properties": {
"billable": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"description": {
"type": "string"
},
"duration": {
"type": "integer"
},
"id": {
"type": "integer"
},
"intervals": {
"items": {
"$ref": "#/definitions/view.TimerInterval"
},
"type": "array"
},
"lastStartedAt": {
"type": "string"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"running": {
"type": "boolean"
},
"serverTime": {
"type": "string"
},
"task": {
"$ref": "#/definitions/view.Relationship"
},
"taskId": {
"type": "integer"
},
"timeLogId": {
"type": "integer"
},
"timelog": {
"$ref": "#/definitions/view.Relationship"
},
"timerLastIntervalEnd": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "Timer",
"type": "object"
},
"view.TimerInterval": {
"description": "TimerInterval contains all the information returned from a timer\ninterval.",
"properties": {
"duration": {
"type": "integer"
},
"from": {
"type": "string"
},
"id": {
"type": "integer"
},
"to": {
"type": "string"
}
},
"title": "TimerInterval",
"type": "object"
},
"view.TimesheetCustomRow": {
"description": "TimesheetCustomRow represents a custom row for a timesheet",
"properties": {
"entityId": {
"type": "integer"
},
"entityType": {
"type": "string"
},
"id": {
"type": "integer"
}
},
"title": "TimesheetCustomRow",
"type": "object"
},
"view.Token": {
"description": "Token contains all the information returned from a form token.",
"properties": {
"canonicalURL": {
"type": "string"
},
"value": {
"type": "string"
}
},
"title": "Token",
"type": "object"
},
"view.Totals": {
"description": "Totals represents a summary of time totals",
"properties": {
"billableMinutes": {
"type": "integer"
},
"billedMinutes": {
"type": "integer"
},
"minutes": {
"type": "integer"
},
"nonBillableMinutes": {
"type": "integer"
},
"unavailableMinutes": {
"type": "integer"
},
"workingHours": {
"type": "number"
}
},
"title": "Totals",
"type": "object"
},
"view.UnavailableTimes": {
"description": "UnavailableTimes contains date summary and total Unavailable minutes",
"properties": {
"dates": {
"additionalProperties": {
"$ref": "#/definitions/view.UnavailableTimesDateSummary"
},
"type": "object"
},
"totalUnavailableMinutes": {
"type": "integer"
}
},
"title": "UnavailableTimes",
"type": "object"
},
"view.UnavailableTimesDateSummary": {
"description": "UnavailableTimesDateSummary contains total minutes and event ids for a date",
"properties": {
"totalUnavailableMinutes": {
"type": "integer"
},
"unavailableTimes": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
}
},
"title": "UnavailableTimesDateSummary",
"type": "object"
},
"view.User": {
"description": "User contains all the information returned from an user.",
"properties": {
"avatarUrl": {
"type": "string"
},
"canAddProjects": {
"type": "boolean"
},
"company": {
"$ref": "#/definitions/view.Relationship"
},
"companyId": {
"type": "integer"
},
"companyRoleId": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"$ref": "#/definitions/view.Relationship"
},
"deleted": {
"type": "boolean"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "integer"
},
"isAdmin": {
"type": "boolean"
},
"isClientUser": {
"type": "boolean"
},
"isPlaceholderResource": {
"type": "boolean"
},
"isServiceAccount": {
"type": "boolean"
},
"jobRoles": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"lastName": {
"type": "string"
},
"lengthOfDay": {
"type": "number"
},
"meta": {
"type": "object"
},
"teams": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"timezone": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"$ref": "#/definitions/view.Relationship"
},
"userCost": {
"type": "integer"
},
"userRate": {
"type": "integer"
},
"workingHour": {
"$ref": "#/definitions/view.Relationship"
},
"workingHoursId": {
"type": "integer"
}
},
"title": "User",
"type": "object"
},
"view.UserDashboard": {
"description": "UserDashboard contains all the information returned from a dashboard.",
"properties": {
"color": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"dashboardPanelIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"dashboardPanels": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"dashboardSettingIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"dashboardSettings": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"deleted": {
"type": "boolean"
},
"deletedAt": {
"type": "string"
},
"description": {
"type": "string"
},
"displayOrder": {
"type": "integer"
},
"id": {
"type": "integer"
},
"isDefault": {
"type": "boolean"
},
"project": {
"$ref": "#/definitions/view.Relationship"
},
"projectId": {
"type": "integer"
},
"title": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "UserDashboard",
"type": "object"
},
"view.UserDashboardPanel": {
"description": "UserDashboardPanel contains all the information returned from a dashboard\npanel.",
"properties": {
"dashboardId": {
"type": "integer"
},
"dashboardPanelSettingIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"displayOrder": {
"type": "integer"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
}
},
"title": "UserDashboardPanel",
"type": "object"
},
"view.UserDashboardPanelSetting": {
"description": "UserDashboardPanelSetting contains all the information returned from a dashboard\npanel.",
"properties": {
"dashboardId": {
"type": "integer"
},
"dashboardPanelId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"title": "UserDashboardPanelSetting",
"type": "object"
},
"view.UserDashboardSetting": {
"description": "UserDashboardSetting contains all the information returned from a dashboard\nsetting.",
"properties": {
"dashboardId": {
"type": "integer"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"title": "UserDashboardSetting",
"type": "object"
},
"view.UserEvents": {
"description": "UserEvents contains status details from other project\nfeatures related with a user.",
"properties": {
"clockedIn": {
"type": "boolean"
}
},
"title": "UserEvents",
"type": "object"
},
"view.UserGroupsDeprecated": {
"description": "UserGroupsDeprecated are common lists\nfor storing users, companies and teams ids\ntogether.\nUse []Relationship instead",
"properties": {
"companies": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"companyIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"teamIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"teams": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"userIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"users": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
}
},
"title": "UserGroupsDeprecated",
"type": "object"
},
"view.UserUtilization": {
"description": "UserUtilization contains all the information returned from a utilization.",
"properties": {
"data": {
"items": {
"$ref": "#/definitions/view.UserUtilizationData"
},
"type": "array"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "UserUtilization",
"type": "object"
},
"view.UserUtilizationData": {
"description": "UserUtilizationData stores the user utilization on a specific period.",
"properties": {
"actualUtilization": {
"type": "number"
},
"allocatedMinutes": {
"type": "integer"
},
"allocatedUtilization": {
"type": "number"
},
"availableMinutes": {
"type": "integer"
},
"availableUtilization": {
"type": "number"
},
"billableMinutes": {
"type": "integer"
},
"billableUtilization": {
"type": "number"
},
"companyCount": {
"type": "integer"
},
"endDate": {
"$ref": "#/definitions/view.Date"
},
"estimatedBillableUtilization": {
"type": "number"
},
"estimatedMinutes": {
"type": "integer"
},
"estimatedUtilization": {
"type": "number"
},
"loggedMinutes": {
"type": "integer"
},
"nonBillableUtilization": {
"type": "number"
},
"startDate": {
"$ref": "#/definitions/view.Date"
},
"totalWorkingMinutes": {
"type": "integer"
},
"unavailableMinutes": {
"type": "integer"
},
"unavailableUtilization": {
"type": "number"
},
"unbillableMinutes": {
"type": "integer"
},
"utilizationAchieved": {
"type": "number"
},
"utilizationTarget": {
"type": "integer"
},
"utilizationTargetMinutes": {
"description": "Calculated fields",
"type": "integer"
}
},
"title": "UserUtilizationData",
"type": "object"
},
"view.UsersDashboard": {
"description": "UsersDashboard contains all the information returned from a utilization.",
"properties": {
"data": {
"$ref": "#/definitions/view.DashboardData"
},
"jobRoles": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"user": {
"$ref": "#/definitions/view.Relationship"
},
"userId": {
"type": "integer"
}
},
"title": "UsersDashboard",
"type": "object"
},
"view.UtilizationTotals": {
"description": "UtilizationTotals stores the totals utilization on a specific period.",
"properties": {
"actualUtilization": {
"type": "number"
},
"allocatedMinutes": {
"type": "integer"
},
"allocatedMinutesAverage": {
"type": "number"
},
"allocatedUtilization": {
"type": "number"
},
"availableMinutes": {
"type": "integer"
},
"availableMinutesAverage": {
"type": "number"
},
"availableUtilization": {
"type": "number"
},
"averageCompanyCount": {
"type": "number"
},
"averageUtilizationAchieved": {
"type": "number"
},
"billableMinutes": {
"description": "report specific",
"type": "integer"
},
"billableMinutesAverage": {
"type": "number"
},
"billableUtilization": {
"type": "number"
},
"endDate": {
"$ref": "#/definitions/view.Date"
},
"estimatedBillableUtilization": {
"type": "number"
},
"estimatedMinutes": {
"type": "integer"
},
"estimatedMinutesAverage": {
"type": "number"
},
"estimatedNonBillableUtilization": {
"type": "number"
},
"estimatedUtilization": {
"type": "number"
},
"loggedMinutes": {
"type": "integer"
},
"loggedMinutesAverage": {
"type": "number"
},
"nonBillableUtilization": {
"type": "number"
},
"rowsCount": {
"type": "integer"
},
"startDate": {
"$ref": "#/definitions/view.Date"
},
"totalWorkingMinutes": {
"type": "integer"
},
"totalWorkingMinutesAverage": {
"type": "number"
},
"unavailableMinutes": {
"type": "integer"
},
"unavailableMinutesAverage": {
"type": "number"
},
"unavailableUtilization": {
"type": "number"
},
"unbillableMinutes": {
"type": "integer"
},
"unbillableMinutesAverage": {
"type": "number"
},
"uniqueCompanyCount": {
"type": "integer"
},
"usersInTarget": {
"type": "integer"
}
},
"title": "UtilizationTotals",
"type": "object"
},
"view.Workflow": {
"description": "Workflow contains all the information returned from a workflow.",
"properties": {
"companies": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"defaultWorkflow": {
"type": "boolean"
},
"id": {
"type": "integer"
},
"lockdown": {
"$ref": "#/definitions/view.Relationship"
},
"name": {
"type": "string"
},
"projectIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"projectSpecific": {
"type": "boolean"
},
"stages": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"updatedBy": {
"type": "integer"
}
},
"title": "Workflow",
"type": "object"
},
"view.WorkingHour": {
"description": "WorkingHour stores the the working hours of an entity (user, team, etc).",
"properties": {
"createdAt": {
"type": "string"
},
"dateCreated": {
"type": "string"
},
"dateUpdated": {
"type": "string"
},
"description": {
"type": "string"
},
"entries": {
"items": {
"$ref": "#/definitions/view.Relationship"
},
"type": "array"
},
"entryIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"object": {
"$ref": "#/definitions/view.Relationship"
},
"objectId": {
"type": "integer"
},
"objectType": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
},
"title": "WorkingHour",
"type": "object"
},
"view.WorkingHourEntry": {
"description": "WorkingHourEntry stores weekday working hour data.",
"properties": {
"endTime": {
"type": "string"
},
"id": {
"type": "integer"
},
"startTime": {
"type": "string"
},
"taskHours": {
"type": "number"
},
"timezone": {
"type": "string"
},
"weekday": {
"type": "string"
},
"workingHour": {
"$ref": "#/definitions/view.Relationship"
},
"workingHourId": {
"type": "integer"
}
},
"title": "WorkingHourEntry",
"type": "object"
}
},
"info": {
"title": "Teamwork API V3",
"version": "3.0"
},
"paths": {
"/projects/api/v3/activity/{activityLogId}": {
"delete": {
"operationId": "DELETE_projects_api_v3_activity_{activityLogId}",
"parameters": [
{
"in": "path",
"name": "activityLogId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Deletes an activity item.",
"tags": [
"Activity"
]
}
},
"/projects/api/v3/allocations/{allocationId}/time.json": {
"get": {
"description": "Return logged time entries for a specific allocation. Only the time entries that\nthe logged-in user can access will be returned.",
"operationId": "GET_projects_api_v3_allocations_{allocationId}_time.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by a starting date",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "sort order",
"enum": [
"company",
"date",
"dateupdated",
"project",
"task",
"tasklist",
"user",
"description",
"billed",
"billable",
"timespent"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"non-billable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by the user who updated the timelog",
"in": "query",
"name": "updatedBy",
"type": "integer"
},
{
"description": "filter by ticket id",
"in": "query",
"name": "ticketId",
"type": "integer"
},
{
"description": "filter by tasklist id",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"description": "filter by task id (deprecated, use taskIds)",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"description": "filter by project id (deprecated, use projectIds)",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by invoice id",
"in": "query",
"name": "invoiceId",
"type": "integer"
},
{
"description": "filter by budget id",
"in": "query",
"name": "budgetId",
"type": "integer"
},
{
"in": "path",
"name": "allocationId",
"required": true,
"type": "integer"
},
{
"description": "filter by allocation id",
"in": "query",
"name": "allocationId",
"type": "integer"
},
{
"description": "use fallback method, where timelogs on deleted tasks and tasklist\nwill fall back to the parent project.",
"in": "query",
"name": "useFallbackMethod",
"type": "boolean"
},
{
"description": "filter by timelogs that are directly logged against projects and not its child tasks",
"in": "query",
"name": "unattachedTimelogs",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "used to return the cost rate and total",
"in": "query",
"name": "returnCostInfo",
"type": "boolean"
},
{
"description": "used to return the billable rate and total",
"in": "query",
"name": "returnBillableInfo",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all task tags",
"in": "query",
"name": "matchAllTaskTags",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "include totals",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "false",
"description": "include permissions",
"in": "query",
"name": "includePermissions",
"type": "boolean"
},
{
"default": "false",
"description": "include descendants",
"in": "query",
"name": "includeDescendants",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by task tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskTagIds",
"type": "array"
},
{
"description": "filter by task statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "taskStatuses",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project company ids (deprecated, use projectCompanyIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectsFromCompanyId",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids\nset to 0 to filter by projects without a category",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"tags",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"tasks.users",
"users",
"project.billing",
"project.billing.currencies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateCreated",
"minutes",
"description",
"timeLogged",
"billable",
"deleted",
"dateDeleted",
"hasStartTime",
"dateEdited",
"deskTicketId",
"userId",
"taskId",
"projectId",
"loggedByUserId",
"deletedByUserId",
"editedByUserId",
"taskIdPreMove",
"projectBillingInvoiceId"
],
"type": "string"
},
"name": "fields[timelogs]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedTeamIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.TimelogsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get time entries for a specific allocation",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/budget/notifications/{notificationId}.json": {
"delete": {
"operationId": "DELETE_projects_api_v3_budget_notifications_{notificationId}.json",
"parameters": [
{
"in": "path",
"name": "notificationId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing notification.",
"tags": [
"Budgets"
]
},
"patch": {
"consumes": [
"application/json"
],
"operationId": "PATCH_projects_api_v3_budget_notifications_{notificationId}.json",
"parameters": [
{
"in": "body",
"name": "notification.ProjectBudgetRequest",
"required": true,
"schema": {
"$ref": "#/definitions/notification.ProjectBudgetRequest"
}
},
{
"in": "path",
"name": "notificationId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/notification.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing notification.",
"tags": [
"Budgets"
]
}
},
"/projects/api/v3/budgets/:id/tasklists/budgets/bulk/add.json": {
"post": {
"consumes": [
"application/json"
],
"operationId": "POST_projects_api_v3_budgets_:id_tasklists_budgets_bulk_add.json",
"parameters": [
{
"in": "body",
"name": "tasklistbudget.BulkAddBudgetRequest",
"required": true,
"schema": {
"$ref": "#/definitions/tasklistbudget.BulkAddBudgetRequest"
}
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/tasklistbudget.BudgetsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Creates new tasklist budgets",
"tags": [
"Budgets"
]
}
},
"/projects/api/v3/calendar/events.csv": {
"get": {
"description": "Generates an agenda report in CSV format containing all the events for the\nprovided filters.",
"operationId": "GET_projects_api_v3_calendar_events.csv",
"parameters": [
{
"description": "events that happen after this date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "events that happen before this date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "false",
"description": "include tasks",
"in": "query",
"name": "withTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include milestones",
"in": "query",
"name": "withMilestones",
"type": "boolean"
},
{
"default": "true",
"description": "include events",
"in": "query",
"name": "withEvents",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "should include tags",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "when filtering events with targetUserIDs, display only when attending the event",
"in": "query",
"name": "attendingOnly",
"type": "boolean"
},
{
"description": "filter calendar events to show only the ones in typeIDs",
"in": "query",
"items": {
"type": "integer"
},
"name": "typeIDs",
"type": "array"
},
{
"description": "filter to show only events for the provided user",
"in": "query",
"items": {
"type": "integer"
},
"name": "targetUserIDs",
"type": "array"
},
{
"description": "filter to show only events for the provided projects",
"in": "query",
"items": {
"type": "integer"
},
"name": "targetProjectIDs",
"type": "array"
}
],
"produces": [
"application/json",
"text/csv"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate agenda report in CSV format",
"tags": [
"CalendarEvents"
]
}
},
"/projects/api/v3/calendar/events.html": {
"get": {
"description": "Generates an agenda report in HTML format containing all the events for the\nprovided filters.",
"operationId": "GET_projects_api_v3_calendar_events.html",
"parameters": [
{
"description": "events that happen after this date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "events that happen before this date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "false",
"description": "include tasks",
"in": "query",
"name": "withTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include milestones",
"in": "query",
"name": "withMilestones",
"type": "boolean"
},
{
"default": "true",
"description": "include events",
"in": "query",
"name": "withEvents",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "should include tags",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "when filtering events with targetUserIDs, display only when attending the event",
"in": "query",
"name": "attendingOnly",
"type": "boolean"
},
{
"description": "filter calendar events to show only the ones in typeIDs",
"in": "query",
"items": {
"type": "integer"
},
"name": "typeIDs",
"type": "array"
},
{
"description": "filter to show only events for the provided user",
"in": "query",
"items": {
"type": "integer"
},
"name": "targetUserIDs",
"type": "array"
},
{
"description": "filter to show only events for the provided projects",
"in": "query",
"items": {
"type": "integer"
},
"name": "targetProjectIDs",
"type": "array"
}
],
"produces": [
"application/json",
"text/html"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate agenda report in HTML format",
"tags": [
"CalendarEvents"
]
}
},
"/projects/api/v3/calendar/events.pdf": {
"get": {
"description": "Generates an agenda report in PDF format containing all the events for the\nprovided filters.",
"operationId": "GET_projects_api_v3_calendar_events.pdf",
"parameters": [
{
"description": "events that happen after this date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "events that happen before this date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "false",
"description": "include tasks",
"in": "query",
"name": "withTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include milestones",
"in": "query",
"name": "withMilestones",
"type": "boolean"
},
{
"default": "true",
"description": "include events",
"in": "query",
"name": "withEvents",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "should include tags",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "when filtering events with targetUserIDs, display only when attending the event",
"in": "query",
"name": "attendingOnly",
"type": "boolean"
},
{
"description": "filter calendar events to show only the ones in typeIDs",
"in": "query",
"items": {
"type": "integer"
},
"name": "typeIDs",
"type": "array"
},
{
"description": "filter to show only events for the provided user",
"in": "query",
"items": {
"type": "integer"
},
"name": "targetUserIDs",
"type": "array"
},
{
"description": "filter to show only events for the provided projects",
"in": "query",
"items": {
"type": "integer"
},
"name": "targetProjectIDs",
"type": "array"
}
],
"produces": [
"application/json",
"application/pdf"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate agenda report in PDF format",
"tags": [
"CalendarEvents"
]
}
},
"/projects/api/v3/calendar/events.xlsx": {
"get": {
"description": "Generates an agenda report in XLSX format containing all the events for the\nprovided filters.",
"operationId": "GET_projects_api_v3_calendar_events.xlsx",
"parameters": [
{
"description": "events that happen after this date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "events that happen before this date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "false",
"description": "include tasks",
"in": "query",
"name": "withTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include milestones",
"in": "query",
"name": "withMilestones",
"type": "boolean"
},
{
"default": "true",
"description": "include events",
"in": "query",
"name": "withEvents",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "should include tags",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "when filtering events with targetUserIDs, display only when attending the event",
"in": "query",
"name": "attendingOnly",
"type": "boolean"
},
{
"description": "filter calendar events to show only the ones in typeIDs",
"in": "query",
"items": {
"type": "integer"
},
"name": "typeIDs",
"type": "array"
},
{
"description": "filter to show only events for the provided user",
"in": "query",
"items": {
"type": "integer"
},
"name": "targetUserIDs",
"type": "array"
},
{
"description": "filter to show only events for the provided projects",
"in": "query",
"items": {
"type": "integer"
},
"name": "targetProjectIDs",
"type": "array"
}
],
"produces": [
"application/json",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate agenda report in XLSX format",
"tags": [
"CalendarEvents"
]
}
},
"/projects/api/v3/companies.json": {
"get": {
"description": "Retrieve all companies for the provided filters.\n\n\nOn this endpoint you can filter by custom fields. The syntax for the\nquery parameter is the following:\n\n customField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n customField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_companies.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by company name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "company",
"description": "define the type of the report",
"enum": [
"company",
"client"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "ownercompany",
"description": "order by",
"enum": [
"name",
"accounts",
"clients",
"collaborators",
"contacts",
"projects",
"tasks",
"country",
"health",
"website",
"email",
"phone",
"fax",
"industry",
"dateadded",
"ownercompany",
"ownername",
"taskscompletion",
"customfield"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by companies after their projects activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by companies before their projects activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by first letter of company name",
"in": "query",
"name": "firstLetter",
"type": "string"
},
{
"description": "filter by created after date (deprecated, use createdAfter)",
"format": "date-time",
"in": "query",
"name": "createdAfterDate",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "budget distribution ranges",
"in": "query",
"name": "budgetRanges",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include client managers in the search",
"in": "query",
"name": "searchClientManagers",
"type": "boolean"
},
{
"default": "false",
"description": "return unfiltered company initial letter counts",
"in": "query",
"name": "returnLetters",
"type": "boolean"
},
{
"description": "only untagged companies",
"in": "query",
"name": "onlyUntaggedCompanies",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include untagged companies",
"in": "query",
"name": "includeUntaggedCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include profitability data for each client",
"in": "query",
"name": "includeProfitability",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"default": "false",
"description": "include budget summary",
"in": "query",
"name": "includeBudgetSummary",
"type": "boolean"
},
{
"default": "false",
"description": "include budget distribution data",
"in": "query",
"name": "includeBudgetDistribution",
"type": "boolean"
},
{
"default": "false",
"description": "include stats of company tasks and projects",
"in": "query",
"name": "getStats",
"type": "boolean"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "getEmoji",
"type": "boolean"
},
{
"description": "include full profile",
"in": "query",
"name": "fullProfile",
"type": "boolean"
},
{
"description": "exclude the owner company",
"in": "query",
"name": "excludeOwnerCompany",
"type": "boolean"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"tags",
"countries",
"industries",
"clientmanagedby",
"companyupdates"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
},
{
"description": "filter by company statuses",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyHealths",
"type": "array"
},
{
"description": "filter by client manager user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "clientManagedByUserIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/company.CompaniesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all companies.",
"tags": [
"Companies"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Create a company.",
"operationId": "POST_projects_api_v3_companies.json",
"parameters": [
{
"in": "body",
"name": "company.Request",
"required": true,
"schema": {
"$ref": "#/definitions/company.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/company.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a company.",
"tags": [
"Companies"
],
"x-private": true
}
},
"/projects/api/v3/companies/:id/domains.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Creates a new company domain attached to company that id is passed as param.",
"operationId": "POST_projects_api_v3_companies_:id_domains.json",
"parameters": [
{
"in": "body",
"name": "companydomain.BulkRequest",
"required": true,
"schema": {
"$ref": "#/definitions/companydomain.BulkRequest"
}
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/domain.BulkResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a new company domains.",
"tags": [
"BETA"
]
}
},
"/projects/api/v3/companies/domains/{id}.json": {
"delete": {
"description": "Removes a company domain. It's still possible to recover the job role.\nMarks all related company domains assignments as deleted.",
"operationId": "DELETE_projects_api_v3_companies_domains_{id}.json",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing company domain.",
"tags": [
"BETA"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Update an existing company domain.",
"operationId": "PATCH_projects_api_v3_companies_domains_{id}.json",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "integer"
},
{
"in": "body",
"name": "companydomain.Request",
"required": true,
"schema": {
"$ref": "#/definitions/companydomain.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/domain.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing company domain.",
"tags": [
"BETA"
]
}
},
"/projects/api/v3/companies/time.json": {
"get": {
"description": "Return all logged time entries for all projects grouped by company ID.\nOnly the time entries that the logged-in user can access will be returned.",
"operationId": "GET_projects_api_v3_companies_time.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by a starting date",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "sort order",
"enum": [
"company",
"date",
"dateupdated",
"project",
"task",
"tasklist",
"user",
"description",
"billed",
"billable",
"timespent"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"non-billable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by the user who updated the timelog",
"in": "query",
"name": "updatedBy",
"type": "integer"
},
{
"description": "filter by ticket id",
"in": "query",
"name": "ticketId",
"type": "integer"
},
{
"description": "filter by tasklist id",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"description": "filter by task id (deprecated, use taskIds)",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"description": "filter by project id (deprecated, use projectIds)",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by invoice id",
"in": "query",
"name": "invoiceId",
"type": "integer"
},
{
"description": "filter by budget id",
"in": "query",
"name": "budgetId",
"type": "integer"
},
{
"description": "filter by allocation id",
"in": "query",
"name": "allocationId",
"type": "integer"
},
{
"description": "use fallback method, where timelogs on deleted tasks and tasklist\nwill fall back to the parent project.",
"in": "query",
"name": "useFallbackMethod",
"type": "boolean"
},
{
"description": "filter by timelogs that are directly logged against projects and not its child tasks",
"in": "query",
"name": "unattachedTimelogs",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "used to return the cost rate and total",
"in": "query",
"name": "returnCostInfo",
"type": "boolean"
},
{
"description": "used to return the billable rate and total",
"in": "query",
"name": "returnBillableInfo",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all task tags",
"in": "query",
"name": "matchAllTaskTags",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "include totals",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "false",
"description": "include permissions",
"in": "query",
"name": "includePermissions",
"type": "boolean"
},
{
"default": "false",
"description": "include descendants",
"in": "query",
"name": "includeDescendants",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by task tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskTagIds",
"type": "array"
},
{
"description": "filter by task statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "taskStatuses",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project company ids (deprecated, use projectCompanyIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectsFromCompanyId",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids\nset to 0 to filter by projects without a category",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"tags",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"tasks.users",
"users",
"project.billing",
"project.billing.currencies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateCreated",
"minutes",
"description",
"timeLogged",
"billable",
"deleted",
"dateDeleted",
"hasStartTime",
"dateEdited",
"deskTicketId",
"userId",
"taskId",
"projectId",
"loggedByUserId",
"deletedByUserId",
"editedByUserId",
"taskIdPreMove",
"projectBillingInvoiceId"
],
"type": "string"
},
"name": "fields[timelogs]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedTeamIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.CompanyTimelogsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all time entries, grouped by company ID",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/companies/{companyId}.json": {
"delete": {
"description": "Delete a company.",
"operationId": "DELETE_projects_api_v3_companies_{companyId}.json",
"parameters": [
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing company.",
"tags": [
"Companies"
],
"x-private": true
},
"get": {
"description": "Retrieves a company by id.",
"operationId": "GET_projects_api_v3_companies_{companyId}.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by company name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "company",
"description": "define the type of the report",
"enum": [
"company",
"client"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "ownercompany",
"description": "order by",
"enum": [
"name",
"accounts",
"clients",
"collaborators",
"contacts",
"projects",
"tasks",
"country",
"health",
"website",
"email",
"phone",
"fax",
"industry",
"dateadded",
"ownercompany",
"ownername",
"taskscompletion",
"customfield"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by companies after their projects activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by companies before their projects activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by first letter of company name",
"in": "query",
"name": "firstLetter",
"type": "string"
},
{
"description": "filter by created after date (deprecated, use createdAfter)",
"format": "date-time",
"in": "query",
"name": "createdAfterDate",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "budget distribution ranges",
"in": "query",
"name": "budgetRanges",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include client managers in the search",
"in": "query",
"name": "searchClientManagers",
"type": "boolean"
},
{
"default": "false",
"description": "return unfiltered company initial letter counts",
"in": "query",
"name": "returnLetters",
"type": "boolean"
},
{
"description": "only untagged companies",
"in": "query",
"name": "onlyUntaggedCompanies",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include untagged companies",
"in": "query",
"name": "includeUntaggedCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include profitability data for each client",
"in": "query",
"name": "includeProfitability",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"default": "false",
"description": "include budget summary",
"in": "query",
"name": "includeBudgetSummary",
"type": "boolean"
},
{
"default": "false",
"description": "include budget distribution data",
"in": "query",
"name": "includeBudgetDistribution",
"type": "boolean"
},
{
"default": "false",
"description": "include stats of company tasks and projects",
"in": "query",
"name": "getStats",
"type": "boolean"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "getEmoji",
"type": "boolean"
},
{
"description": "include full profile",
"in": "query",
"name": "fullProfile",
"type": "boolean"
},
{
"description": "exclude the owner company",
"in": "query",
"name": "excludeOwnerCompany",
"type": "boolean"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"tags",
"countries",
"industries",
"clientmanagedby",
"companyupdates"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
},
{
"description": "filter by company statuses",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyHealths",
"type": "array"
},
{
"description": "filter by client manager user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "clientManagedByUserIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/company.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get a specific company.",
"tags": [
"Companies"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Modify the properties of an existing company.",
"operationId": "PATCH_projects_api_v3_companies_{companyId}.json",
"parameters": [
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
},
{
"in": "body",
"name": "company.Request",
"required": true,
"schema": {
"$ref": "#/definitions/company.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/company.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing company.",
"tags": [
"Companies"
],
"x-private": true
}
},
"/projects/api/v3/companies/{companyId}/customfields.json": {
"get": {
"description": "Return all custom field values from a specific company.",
"operationId": "GET_projects_api_v3_companies_{companyId}_customfields.json",
"parameters": [
{
"description": "filter by custom field value",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
},
{
"description": "filter by company id",
"in": "query",
"name": "companyId",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"customfields"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"description": "filter by custom field ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "customFieldIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.valuesResponseCompany"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Company custom field values.",
"tags": [
"CustomFields"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Add a company custom field value.",
"operationId": "POST_projects_api_v3_companies_{companyId}_customfields.json",
"parameters": [
{
"in": "body",
"name": "value.requestCompany",
"required": true,
"schema": {
"$ref": "#/definitions/value.requestCompany"
}
},
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/value.responseCompany"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Add company custom field value.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/companies/{companyId}/customfields/bulk/delete.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Remove many entries of company custom field values at once.",
"operationId": "POST_projects_api_v3_companies_{companyId}_customfields_bulk_delete.json",
"parameters": [
{
"in": "body",
"name": "value.bulkDeleteRequestCompany",
"required": true,
"schema": {
"$ref": "#/definitions/value.bulkDeleteRequestCompany"
}
},
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete many company custom fields values at once.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/companies/{companyId}/customfields/bulk/update.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Edit many entries of company custom field values at once.",
"operationId": "POST_projects_api_v3_companies_{companyId}_customfields_bulk_update.json",
"parameters": [
{
"in": "body",
"name": "value.bulkUpdateRequestCompany",
"required": true,
"schema": {
"$ref": "#/definitions/value.bulkUpdateRequestCompany"
}
},
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.valuesResponseCompany"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update many company custom field values at once.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/companies/{companyId}/customfields/{customFieldId}.json": {
"delete": {
"description": "Removes a company custom field value.",
"operationId": "DELETE_projects_api_v3_companies_{companyId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing company custom field value.",
"tags": [
"CustomFields"
]
},
"get": {
"description": "Return a specific custom field value from a company.",
"operationId": "GET_projects_api_v3_companies_{companyId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.responseCompany"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Company custom field value.",
"tags": [
"CustomFields"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Edit a company custom field value.",
"operationId": "PATCH_projects_api_v3_companies_{companyId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "body",
"name": "value.requestCompany",
"required": true,
"schema": {
"$ref": "#/definitions/value.requestCompany"
}
},
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "companyId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.responseCompany"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing company custom field value.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/customfields.json": {
"get": {
"description": "Return all custom fields for the provided filters.",
"operationId": "GET_projects_api_v3_customfields.json",
"parameters": [
{
"description": "filter by custom field name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by project statuses",
"in": "query",
"name": "projectStatuses",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"name",
"project",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by name",
"in": "query",
"name": "name",
"type": "string"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only return site-level custom fields",
"in": "query",
"name": "onlySiteLevel",
"type": "boolean"
},
{
"default": "false",
"description": "only return custom fields for project-level in the response",
"in": "query",
"name": "onlyProjectLevel",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"default": "true",
"description": "include custom fields for site-level in the response",
"in": "query",
"name": "includeSiteLevel",
"type": "boolean"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"createdBy",
"updatedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by custom field ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"description": "filter by entities",
"in": "query",
"items": {
"type": "string"
},
"name": "entities",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/customfield.CustomFieldsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all custom fields",
"tags": [
"CustomFields"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Creates a new custom field. The custom field could have a scope at an\ninstallation-level or at a project-level.",
"operationId": "POST_projects_api_v3_customfields.json",
"parameters": [
{
"in": "body",
"name": "customfield.Request",
"required": true,
"schema": {
"$ref": "#/definitions/customfield.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/customfield.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a new custom field",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/customfields/bulk/delete.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Remove multiple custom fields at once.",
"operationId": "POST_projects_api_v3_customfields_bulk_delete.json",
"parameters": [
{
"in": "body",
"name": "customfield.BulkDeleteRequest",
"required": true,
"schema": {
"$ref": "#/definitions/customfield.BulkDeleteRequest"
}
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete many custom fields at once",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/customfields/{customFieldId}.json": {
"delete": {
"description": "Removes a custom field.",
"operationId": "DELETE_projects_api_v3_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing custom field",
"tags": [
"CustomFields"
]
},
"get": {
"description": "This returns all details about an individual custom field.",
"operationId": "GET_projects_api_v3_customfields_{customFieldId}.json",
"parameters": [
{
"description": "filter by custom field name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by project statuses",
"in": "query",
"name": "projectStatuses",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"name",
"project",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by name",
"in": "query",
"name": "name",
"type": "string"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only return site-level custom fields",
"in": "query",
"name": "onlySiteLevel",
"type": "boolean"
},
{
"default": "false",
"description": "only return custom fields for project-level in the response",
"in": "query",
"name": "onlyProjectLevel",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"default": "true",
"description": "include custom fields for site-level in the response",
"in": "query",
"name": "includeSiteLevel",
"type": "boolean"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"createdBy",
"updatedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by custom field ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"description": "filter by entities",
"in": "query",
"items": {
"type": "string"
},
"name": "entities",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/customfield.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a custom field by id.",
"tags": [
"CustomFields"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Updates an existing custom field.",
"operationId": "PATCH_projects_api_v3_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
},
{
"in": "body",
"name": "customfield.Request",
"required": true,
"schema": {
"$ref": "#/definitions/customfield.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/customfield.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing custom field.",
"tags": [
"CustomFields"
]
},
"put": {
"consumes": [
"application/json"
],
"description": "Updates an existing custom field.",
"operationId": "PUT_projects_api_v3_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
},
{
"in": "body",
"name": "customfield.Request",
"required": true,
"schema": {
"$ref": "#/definitions/customfield.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/customfield.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing custom field.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/dashboards.json": {
"get": {
"description": "Return all dashboards that the logged-in user can access. Dashboards contains\npanels that are used to summarize many activities from the installation.",
"operationId": "GET_projects_api_v3_dashboards.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "isDefault",
"description": "order by",
"enum": [
"isDefault",
"displayOrder"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "true",
"description": "parse emoji alias to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"users",
"dashboardSettings",
"dashboardPanels",
"dashboardPanels.settings"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"title",
"color",
"description",
"isDefault",
"userId",
"projectId",
"displayOrder",
"deleted",
"dateCreated",
"dateUpdated",
"dateDeleted",
"dashboardPanelIds",
"dashboardSettingIds"
],
"type": "string"
},
"name": "fields[dashboards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dashboardId",
"name",
"value"
],
"type": "string"
},
"name": "fields[dashboardSettings]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dashboardId",
"name",
"type",
"displayOrder",
"dashboardPanelSettingIds"
],
"type": "string"
},
"name": "fields[dashboardPanels]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"dashboardId",
"dashboardPanelId",
"name",
"value"
],
"type": "string"
},
"name": "fields[dashboardPanelSettings]",
"type": "array"
},
{
"description": "filter by user dashboard ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "dashboardIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/dashboard.UserDashboardsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all dashboards",
"tags": [
"Dashboards"
]
}
},
"/projects/api/v3/features.json": {
"get": {
"description": "Return all features accessible to the current installation.",
"operationId": "GET_projects_api_v3_features.json",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/priceplan.FeaturesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get installation features",
"tags": [
"Features"
]
}
},
"/projects/api/v3/files/{fileId}/comments.json": {
"get": {
"operationId": "GET_projects_api_v3_files_{fileId}_comments.json",
"parameters": [
{
"in": "path",
"name": "fileId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/comment.CommentsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a list of comments for a file",
"tags": [
"FileComments"
]
}
},
"/projects/api/v3/fileversions/{id}/comments.json": {
"get": {
"operationId": "GET_projects_api_v3_fileversions_{id}_comments.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by comment content (like v1 filterText param)",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by published after date",
"format": "date",
"in": "query",
"name": "publishedStartDate",
"type": "string"
},
{
"description": "filter by published before date",
"format": "date",
"in": "query",
"name": "publishedEndDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "data",
"description": "order by",
"enum": [
"all",
"date",
"project",
"user",
"type"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by commment status",
"enum": [
"all",
"read",
"unread"
],
"in": "query",
"name": "commentStatus",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"in": "path",
"name": "id",
"required": true,
"type": "integer"
},
{
"default": "false",
"description": "use strict html filtering fto content",
"in": "query",
"name": "strictHTML",
"type": "boolean"
},
{
"description": "get reactions count",
"in": "query",
"name": "getReactionsCount",
"type": "boolean"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by users who got notified for the comments",
"in": "query",
"items": {
"type": "integer"
},
"name": "notifiedUserIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"reactions",
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/comment.CommentsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a list of comments for a file version",
"tags": [
"FileVersionComments"
]
}
},
"/projects/api/v3/forms.json": {
"get": {
"description": "Return a list of all forms.",
"operationId": "GET_projects_api_v3_forms.json",
"parameters": [
{
"description": "query by token state",
"enum": [
"active",
"inactive"
],
"in": "query",
"name": "token.state",
"type": "string"
},
{
"description": "filter by form name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "dateUpdated",
"description": "order by",
"enum": [
"name",
"taskList",
"totalSubmissions",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "query by hostObject type",
"enum": [
"projects"
],
"in": "query",
"name": "hostObject.type",
"type": "string"
},
{
"description": "query by form state",
"enum": [
"active",
"deleted",
"draft",
"latest"
],
"in": "query",
"name": "content.state",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by host id",
"in": "query",
"name": "hostObject.id",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "filter only by project with direct membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"users",
"tasklists"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"confirmationMessage",
"promptAdditionalSubmissions",
"allowTeamworkBranding",
"isShared",
"state",
"taskTitleFieldId",
"token",
"content",
"hostObject",
"installation"
],
"type": "string"
},
"name": "fields[forms]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/form.FormsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all forms.",
"tags": [
"Forms"
]
},
"post": {
"consumes": [
"application/json"
],
"operationId": "POST_projects_api_v3_forms.json",
"parameters": [
{
"in": "body",
"name": "form.Request",
"required": true,
"schema": {
"$ref": "#/definitions/form.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/form.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a new form.",
"tags": [
"Forms"
]
}
},
"/projects/api/v3/forms/public/{token}.json": {
"get": {
"description": "This endpoint does not require authentication.",
"operationId": "GET_projects_api_v3_forms_public_{token}.json",
"parameters": [
{
"description": "query by token state",
"enum": [
"active",
"inactive"
],
"in": "query",
"name": "token.state",
"type": "string"
},
{
"description": "filter by form name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "dateUpdated",
"description": "order by",
"enum": [
"name",
"taskList",
"totalSubmissions",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "query by hostObject type",
"enum": [
"projects"
],
"in": "query",
"name": "hostObject.type",
"type": "string"
},
{
"description": "query by form state",
"enum": [
"active",
"deleted",
"draft",
"latest"
],
"in": "query",
"name": "content.state",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"in": "path",
"name": "token",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by host id",
"in": "query",
"name": "hostObject.id",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "filter only by project with direct membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"users",
"tasklists"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"confirmationMessage",
"promptAdditionalSubmissions",
"allowTeamworkBranding",
"isShared",
"state",
"taskTitleFieldId",
"token",
"content",
"hostObject",
"installation"
],
"type": "string"
},
"name": "fields[forms]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/form.PublicResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a forms via its token.",
"tags": [
"FormsPublic"
]
}
},
"/projects/api/v3/forms/{formID}/copy.json": {
"post": {
"consumes": [
"application/json"
],
"operationId": "POST_projects_api_v3_forms_{formID}_copy.json",
"parameters": [
{
"in": "path",
"name": "formID",
"required": true,
"type": "integer"
},
{
"in": "body",
"name": "form.CopyRequest",
"required": true,
"schema": {
"$ref": "#/definitions/form.CopyRequest"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/form.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Copy a form",
"tags": [
"FormsPublic"
]
}
},
"/projects/api/v3/forms/{formId}.json": {
"delete": {
"operationId": "DELETE_projects_api_v3_forms_{formId}.json",
"parameters": [
{
"in": "path",
"name": "formId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing form.",
"tags": [
"Forms"
]
},
"get": {
"operationId": "GET_projects_api_v3_forms_{formId}.json",
"parameters": [
{
"in": "path",
"name": "formId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/form.Response"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/form.Response"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a specific form.",
"tags": [
"Forms"
]
},
"patch": {
"consumes": [
"application/json"
],
"operationId": "PATCH_projects_api_v3_forms_{formId}.json",
"parameters": [
{
"in": "path",
"name": "formId",
"required": true,
"type": "integer"
},
{
"in": "body",
"name": "form.Request",
"required": true,
"schema": {
"$ref": "#/definitions/form.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/form.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing form.",
"tags": [
"Forms"
]
}
},
"/projects/api/v3/forms/{formId}/draft.json": {
"get": {
"operationId": "GET_projects_api_v3_forms_{formId}_draft.json",
"parameters": [
{
"in": "path",
"name": "formId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/form.Response"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/form.Response"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get the draft version of a specific form.",
"tags": [
"Forms"
]
}
},
"/projects/api/v3/importer/stats.json": {
"get": {
"description": "This endpoint returns info about a set of importers. This includes whether\nthey are individually running or not, what's their status and a flag to\nrepresent if any importer is running. The endpoint looks up redis for this\ninformation. Using the parameter resetImporters this information can be\ndeleted in redis to reset it.",
"operationId": "GET_projects_api_v3_importer_stats.json",
"parameters": [
{
"default": "false",
"description": "reset importers",
"in": "query",
"name": "resetImporters",
"type": "boolean"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/importer.ImportersResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get stats about Importers",
"tags": [
"Importers"
]
}
},
"/projects/api/v3/latestactivity.json": {
"get": {
"description": "Lists the latest activity across all projects ordered chronologically. When\nyou log into Teamwork you will see all the recent activity. This corresponds\nto that view in Teamwork. There are parameters you can send in to filter your\nresults.",
"operationId": "GET_projects_api_v3_latestactivity.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by start datetime",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"description": "sort by",
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by end datetime",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "cursor used for pagination. When using this pagination mode the page and\npageSize will be ignored, using limit to control the number of items. If\nany other filter is modified during the cursor iteration the response\nwill fall back to the first page.",
"in": "query",
"name": "cursor",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "number of items to show when providing the cursor.",
"in": "query",
"name": "limit",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "group all activities on comments",
"in": "query",
"name": "groupCommentActivityType",
"type": "boolean"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"users",
"companies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateTime",
"activityType",
"latestActivityType",
"itemId",
"itemLink",
"itemType",
"itemDescription",
"itemExtraDescription",
"itemExtraLink",
"itemPublicInfo",
"forUserId",
"forUserName",
"dueDate",
"isPrivate",
"lockdownId",
"projectId",
"companyId"
],
"type": "string"
},
"name": "fields[activities]",
"type": "array"
},
{
"description": "filter by activity types",
"in": "query",
"items": {
"enum": [
"task",
"tasklist",
"project",
"message",
"notebook",
"milestone",
"like",
"file",
"link",
"billinginvoice",
"task_comment",
"milestone_comment",
"file_comment",
"link_comment",
"comment"
],
"type": "string"
},
"name": "activityTypes",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/activity.ActivitiesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Latest activity (all projects)",
"tags": [
"Activity"
]
}
},
"/projects/api/v3/me/timers.json": {
"get": {
"description": "Will get all your running timers or the person you are logged in as.",
"operationId": "GET_projects_api_v3_me_timers.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"description": "filter by task id",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "enforce running timers only",
"in": "query",
"name": "runningTimersOnly",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timer.TimersResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all your running timers",
"tags": [
"TimeTracking"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Creates a new timer. If there's already a timer running, it will stop this timer\nat default.",
"operationId": "POST_projects_api_v3_me_timers.json",
"parameters": [
{
"in": "body",
"name": "timer.Request",
"required": true,
"schema": {
"$ref": "#/definitions/timer.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a new timer",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/me/timers/{timerId}.json": {
"delete": {
"consumes": [
"application/json"
],
"description": "Delete an existing timer.",
"operationId": "DELETE_projects_api_v3_me_timers_{timerId}.json",
"parameters": [
{
"in": "body",
"name": "timer.DeleteRequest",
"required": true,
"schema": {
"$ref": "#/definitions/timer.DeleteRequest"
}
},
{
"in": "path",
"name": "timerId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete a timer by ID",
"tags": [
"TimeTracking"
]
},
"put": {
"consumes": [
"application/json"
],
"description": "Edits the fields of a timer.",
"operationId": "PUT_projects_api_v3_me_timers_{timerId}.json",
"parameters": [
{
"in": "body",
"name": "timer.Request",
"required": true,
"schema": {
"$ref": "#/definitions/timer.Request"
}
},
{
"in": "path",
"name": "timerId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Edits a timer",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/me/timers/{timerId}/complete.json": {
"put": {
"description": "Complete an existing timer. If the timer is currently running, it is paused to create\nthe timelog entry. When the timelog is created, the timer is deleted.",
"operationId": "PUT_projects_api_v3_me_timers_{timerId}_complete.json",
"parameters": [
{
"in": "path",
"name": "timerId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Complete a timer by ID",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/me/timers/{timerId}/pause.json": {
"put": {
"description": "Pause an existing timer.",
"operationId": "PUT_projects_api_v3_me_timers_{timerId}_pause.json",
"parameters": [
{
"in": "path",
"name": "timerId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Pause a timer by ID",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/me/timers/{timerId}/resume.json": {
"put": {
"description": "Resume an existing timer. If other timers are currently running, those timers are paused before resuming.",
"operationId": "PUT_projects_api_v3_me_timers_{timerId}_resume.json",
"parameters": [
{
"in": "path",
"name": "timerId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Resume a timer by ID",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/me/timers/{timerId}/undelete.json": {
"put": {
"description": "Restore an deleted timer.",
"operationId": "PUT_projects_api_v3_me_timers_{timerId}_undelete.json",
"parameters": [
{
"in": "path",
"name": "timerId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Restore a deleted timer item.",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/messages.json": {
"get": {
"description": "Retrieve all messages for the provided filters.",
"operationId": "GET_projects_api_v3_messages.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by message name and body",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "normal",
"description": "filter by project type",
"enum": [
"normal",
"tasklists-template",
"projects-template"
],
"in": "query",
"name": "projectType",
"type": "string"
},
{
"description": "filter by project statuses",
"in": "query",
"name": "projectStatuses",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "ownermessage",
"description": "order by",
"enum": [
"createdat",
"updatedat",
"category",
"project",
"createdby",
"unread"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "consider reply dates when using updatedAfter",
"in": "query",
"name": "updatedAfterIncludesReplies",
"type": "boolean"
},
{
"description": "show unread messages only",
"in": "query",
"name": "unreadOnly",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include deleted messages",
"in": "query",
"name": "includeDeleted",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "getEmoji",
"type": "boolean"
},
{
"in": "query",
"name": "formatMarkdown",
"type": "boolean"
},
{
"description": "show archived messages only",
"in": "query",
"name": "archivedOnly",
"type": "boolean"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "filter by users who got notified for the messages",
"in": "query",
"items": {
"type": "integer"
},
"name": "notifiedUserIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"latestreplies",
"tags"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"messageId"
],
"type": "string"
},
"name": "fields[messageReplies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/message.MessagesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all messages.",
"tags": [
"Messages"
]
}
},
"/projects/api/v3/messages/{messageId}.json": {
"get": {
"description": "Retrieves a message by id.",
"operationId": "GET_projects_api_v3_messages_{messageId}.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by message name and body",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "normal",
"description": "filter by project type",
"enum": [
"normal",
"tasklists-template",
"projects-template"
],
"in": "query",
"name": "projectType",
"type": "string"
},
{
"description": "filter by project statuses",
"in": "query",
"name": "projectStatuses",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "ownermessage",
"description": "order by",
"enum": [
"createdat",
"updatedat",
"category",
"project",
"createdby",
"unread"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"in": "path",
"name": "messageId",
"required": true,
"type": "integer"
},
{
"description": "consider reply dates when using updatedAfter",
"in": "query",
"name": "updatedAfterIncludesReplies",
"type": "boolean"
},
{
"description": "show unread messages only",
"in": "query",
"name": "unreadOnly",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include deleted messages",
"in": "query",
"name": "includeDeleted",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "getEmoji",
"type": "boolean"
},
{
"in": "query",
"name": "formatMarkdown",
"type": "boolean"
},
{
"description": "show archived messages only",
"in": "query",
"name": "archivedOnly",
"type": "boolean"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "filter by users who got notified for the messages",
"in": "query",
"items": {
"type": "integer"
},
"name": "notifiedUserIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"latestreplies",
"tags"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"messageId"
],
"type": "string"
},
"name": "fields[messageReplies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/message.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get a specific message.",
"tags": [
"Messages"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Update specific fields on a message. If the property `read` is sent with the\nvalue `true` all replies from this message will be marked as read.",
"operationId": "PATCH_projects_api_v3_messages_{messageId}.json",
"parameters": [
{
"in": "body",
"name": "message.Request",
"required": true,
"schema": {
"$ref": "#/definitions/message.Request"
}
},
{
"in": "path",
"name": "messageId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Edit a message.",
"tags": [
"Messages"
],
"x-private": true
}
},
"/projects/api/v3/milestones.json": {
"get": {
"description": "All milestones are returned on projects that the authenticated user is\nassociated with. You can use the provided filters to return only those\nmilestones that are incomplete, completed, upcoming or late. All milestones\nare returning in this call. This call uses pagination, returning 100\nmilestones per page by default.",
"operationId": "GET_projects_api_v3_milestones.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by milestone name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "agenda",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"calendar",
"agenda"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"dateonly",
"name",
"project",
"user",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by due before date (deprecated, use dueBefore)",
"format": "date",
"in": "query",
"name": "dueBeforeDate",
"type": "string"
},
{
"description": "filter by due before date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter by due after date (deprecated, use dueAfter)",
"format": "date",
"in": "query",
"name": "dueAfterDate",
"type": "string"
},
{
"description": "filter by due after date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "show private milestones",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "show attached tasklists",
"in": "query",
"name": "showAttachedTasklists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "progress",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "filter by projects that the logged-in user is related",
"in": "query",
"name": "onlyMyProjects",
"type": "boolean"
},
{
"description": "only include milestones from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "match all milestone tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include milestones latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"default": "true",
"description": "include today when milestone status is upcoming",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"default": "true",
"description": "include team users to the responsible party ids",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"default": "true",
"description": "include tags in the reports",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "includeProgress",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists",
"in": "query",
"name": "includePercentageComplete",
"type": "boolean"
},
{
"description": "optional to include completed milestones",
"in": "query",
"name": "includeCompleted",
"type": "boolean"
},
{
"default": "true",
"description": "include company users to the responsible party ids",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "convert emoji alias to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "false",
"description": "count unread comments",
"in": "query",
"name": "countUnreadComments",
"type": "boolean"
},
{
"default": "false",
"description": "enables the calendar style layout",
"in": "query",
"name": "calendar",
"type": "boolean"
},
{
"description": "filter by milestone tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of milestone status",
"in": "query",
"items": {
"enum": [
"all",
"new",
"reopened",
"completed",
"deleted",
"pending",
"incomplete",
"late",
"today",
"upcoming"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by list of project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"users",
"completedBy",
"createdBy",
"deletedBy",
"updatedBy",
"commentFollowers",
"changeFollowers",
"tags",
"tasklists",
"tasklisttaskstats"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followers' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followerIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by creators' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "creatorIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/milestone.MilestonesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all milestones",
"tags": [
"Milestones"
]
}
},
"/projects/api/v3/milestones/metrics/deadlines.json": {
"get": {
"description": "Count the number of milestones on each deadline date. Only the milestones\nthat the logged-in user can access will be included in the counting.",
"operationId": "GET_projects_api_v3_milestones_metrics_deadlines.json",
"parameters": [
{
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/deadline.MilestoneMetricDeadlinesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get milestones by due date in a time range",
"tags": [
"Milestones"
]
}
},
"/projects/api/v3/milestones/{milestonId}.json": {
"get": {
"description": "This returns all details about an individual milestone.",
"operationId": "GET_projects_api_v3_milestones_{milestonId}.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by milestone name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "agenda",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"calendar",
"agenda"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"dateonly",
"name",
"project",
"user",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by due before date (deprecated, use dueBefore)",
"format": "date",
"in": "query",
"name": "dueBeforeDate",
"type": "string"
},
{
"description": "filter by due before date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter by due after date (deprecated, use dueAfter)",
"format": "date",
"in": "query",
"name": "dueAfterDate",
"type": "string"
},
{
"description": "filter by due after date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"in": "path",
"name": "milestonId",
"required": true,
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "show private milestones",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "show attached tasklists",
"in": "query",
"name": "showAttachedTasklists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "progress",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "filter by projects that the logged-in user is related",
"in": "query",
"name": "onlyMyProjects",
"type": "boolean"
},
{
"description": "only include milestones from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "match all milestone tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include milestones latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"default": "true",
"description": "include today when milestone status is upcoming",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"default": "true",
"description": "include team users to the responsible party ids",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"default": "true",
"description": "include tags in the reports",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "includeProgress",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists",
"in": "query",
"name": "includePercentageComplete",
"type": "boolean"
},
{
"description": "optional to include completed milestones",
"in": "query",
"name": "includeCompleted",
"type": "boolean"
},
{
"default": "true",
"description": "include company users to the responsible party ids",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "convert emoji alias to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "false",
"description": "count unread comments",
"in": "query",
"name": "countUnreadComments",
"type": "boolean"
},
{
"default": "false",
"description": "enables the calendar style layout",
"in": "query",
"name": "calendar",
"type": "boolean"
},
{
"description": "filter by milestone tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of milestone status",
"in": "query",
"items": {
"enum": [
"all",
"new",
"reopened",
"completed",
"deleted",
"pending",
"incomplete",
"late",
"today",
"upcoming"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by list of project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"users",
"completedBy",
"createdBy",
"deletedBy",
"updatedBy",
"commentFollowers",
"changeFollowers",
"tags",
"tasklists",
"tasklisttaskstats"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followers' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followerIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by creators' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "creatorIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/milestone.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get a milestone by id.",
"tags": [
"Milestones"
]
}
},
"/projects/api/v3/milestones/{milestoneId}/comments.json": {
"get": {
"operationId": "GET_projects_api_v3_milestones_{milestoneId}_comments.json",
"parameters": [
{
"in": "path",
"name": "milestoneId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/comment.CommentsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a list of comments for a milestone",
"tags": [
"MilestoneComments"
]
}
},
"/projects/api/v3/notebooks.json": {
"get": {
"operationId": "GET_projects_api_v3_notebooks.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by notebook name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "normal",
"description": "filter by project type",
"enum": [
"normal",
"tasklists-template",
"projects-template"
],
"in": "query",
"name": "projectType",
"type": "string"
},
{
"description": "filter by project statuses",
"in": "query",
"name": "projectStatuses",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "dateUpdated",
"description": "order by",
"enum": [
"name",
"project",
"dateCreated",
"dateUpdated",
"category"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by created after date (deprecated, use createdAfter)",
"format": "date",
"in": "query",
"name": "createdAfterDate",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "filter by showing only secure notebooks",
"in": "query",
"name": "secureOnly",
"type": "boolean"
},
{
"description": "match all notebook tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"default": "false",
"description": "filter by showing only locked notebooks",
"in": "query",
"name": "lockedOnly",
"type": "boolean"
},
{
"default": "true",
"description": "include contents.",
"in": "query",
"name": "includeContents",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "getEmoji",
"type": "boolean"
},
{
"description": "filter by notebook tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"tags",
"users",
"notebookCategories",
"companies",
"teams"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"contents",
"type",
"isPrivate",
"locked",
"lockdownId",
"secureContent",
"projectId",
"createdByUserID",
"updatedByUserID",
"deletedByUserID",
"dateUpdated",
"dateCreated",
"dateDeleted",
"deleted",
"categoryId",
"notebookVersionID",
"notebookVersionCreatedDateTime",
"notebookVersionUpdatedDateTime",
"latestVersionNo",
"commentsCount",
"readCommentsCount",
"contentHTML",
"privacy",
"commentFollowers",
"changeFollowers",
"projectNotifyCommentIncludeCreator",
"tagIds"
],
"type": "string"
},
"name": "fields[notebooks]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[notebookCategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by creators' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "creatorIds",
"type": "array"
},
{
"description": "filter by notebook category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "categoryIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/notebook.NotebooksResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a list of notebooks.",
"tags": [
"Notebooks"
]
}
},
"/projects/api/v3/notebooks/{notebookId}.json": {
"delete": {
"operationId": "DELETE_projects_api_v3_notebooks_{notebookId}.json",
"parameters": [
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing notebook.",
"tags": [
"Notebooks"
]
},
"get": {
"operationId": "GET_projects_api_v3_notebooks_{notebookId}.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"default": "normal",
"description": "filter by project type",
"enum": [
"normal",
"tasklists-template",
"projects-template"
],
"in": "query",
"name": "projectType",
"type": "string"
},
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
},
{
"description": "show deleted notebooks",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "getEmoji",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"tags",
"users",
"notebookCategories",
"companies",
"teams"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"contents",
"type",
"isPrivate",
"locked",
"lockdownId",
"secureContent",
"projectId",
"createdByUserID",
"updatedByUserID",
"deletedByUserID",
"dateUpdated",
"dateCreated",
"dateDeleted",
"deleted",
"categoryId",
"notebookVersionID",
"notebookVersionCreatedDateTime",
"notebookVersionUpdatedDateTime",
"latestVersionNo",
"commentsCount",
"readCommentsCount",
"contentHTML",
"privacy",
"commentFollowers",
"changeFollowers",
"projectNotifyCommentIncludeCreator",
"tagIds"
],
"type": "string"
},
"name": "fields[notebooks]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[notebookCategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/notebook.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a specific notebook.",
"tags": [
"Notebooks"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Edits the fields of an existing notebook.",
"operationId": "PATCH_projects_api_v3_notebooks_{notebookId}.json",
"parameters": [
{
"in": "body",
"name": "notebook.Request",
"required": true,
"schema": {
"$ref": "#/definitions/notebook.Request"
}
},
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "getEmoji",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"tags",
"users",
"notebookCategories",
"companies",
"teams"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"contents",
"type",
"isPrivate",
"locked",
"lockdownId",
"secureContent",
"projectId",
"createdByUserID",
"updatedByUserID",
"deletedByUserID",
"dateUpdated",
"dateCreated",
"dateDeleted",
"deleted",
"categoryId",
"notebookVersionID",
"notebookVersionCreatedDateTime",
"notebookVersionUpdatedDateTime",
"latestVersionNo",
"commentsCount",
"readCommentsCount",
"contentHTML",
"privacy",
"commentFollowers",
"changeFollowers",
"projectNotifyCommentIncludeCreator",
"tagIds"
],
"type": "string"
},
"name": "fields[notebooks]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[notebookCategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/notebook.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Edits a notebook",
"tags": [
"Notebooks"
]
}
},
"/projects/api/v3/notebooks/{notebookId}/comments.json": {
"get": {
"operationId": "GET_projects_api_v3_notebooks_{notebookId}_comments.json",
"parameters": [
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/comment.CommentsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a list of comments for a notebook",
"tags": [
"NotebookComments"
]
}
},
"/projects/api/v3/notebooks/{notebookId}/compare.json": {
"get": {
"description": "Gets the contents diff between the contents of 2 notebook versions",
"operationId": "GET_projects_api_v3_notebooks_{notebookId}_compare.json",
"parameters": [
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/notebook.VersionResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Compare 2 notebook versions",
"tags": [
"Notebooks"
]
}
},
"/projects/api/v3/notebooks/{notebookId}/lock.json": {
"put": {
"description": "Locks a specific notebook.",
"operationId": "PUT_projects_api_v3_notebooks_{notebookId}_lock.json",
"parameters": [
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Lock a notebook",
"tags": [
"Notebooks"
]
}
},
"/projects/api/v3/notebooks/{notebookId}/unlock.json": {
"put": {
"description": "Unlocks a specific notebook.",
"operationId": "PUT_projects_api_v3_notebooks_{notebookId}_unlock.json",
"parameters": [
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Unlock a notebook",
"tags": [
"Notebooks"
]
}
},
"/projects/api/v3/notebooks/{notebookId}/versions.json": {
"delete": {
"description": "Deletes some existing versions of a notebook by version ID.",
"operationId": "DELETE_projects_api_v3_notebooks_{notebookId}_versions.json",
"parameters": [
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete notebook versions.",
"tags": [
"Notebooks"
]
},
"get": {
"description": "Get a list of a notebooks versions.",
"operationId": "GET_projects_api_v3_notebooks_{notebookId}_versions.json",
"parameters": [
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/notebook.VersionsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get notebook versions",
"tags": [
"Notebooks"
]
}
},
"/projects/api/v3/notebooks/{notebookId}/versions/{versionId}.json": {
"get": {
"description": "Get a specific notebook version.",
"operationId": "GET_projects_api_v3_notebooks_{notebookId}_versions_{versionId}.json",
"parameters": [
{
"in": "path",
"name": "versionId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "notebookId",
"required": true,
"type": "integer"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/notebook.VersionResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a notebook version",
"tags": [
"Notebooks"
]
}
},
"/projects/api/v3/people.json": {
"get": {
"description": "Retrieve all people for the provided filters.",
"operationId": "GET_projects_api_v3_people.json",
"parameters": [
{
"description": "user type",
"enum": [
"account",
"collaborator",
"contact"
],
"in": "query",
"name": "userType",
"type": "string"
},
{
"description": "date time",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by comment content",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"name",
"namecaseinsensitive",
"company"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"format": "date-time",
"in": "query",
"name": "lastLoginAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "Include user job role in search",
"in": "query",
"name": "searchUserJobRole",
"type": "boolean"
},
{
"description": "Force to have the current/session user in the response",
"in": "query",
"name": "orderPrioritiseCurrentUser",
"type": "boolean"
},
{
"default": "false",
"in": "query",
"name": "onlySiteOwner",
"type": "boolean"
},
{
"default": "false",
"description": "return people only from the owner company. This will replace any provided\ncompany ID.",
"in": "query",
"name": "onlyOwnerCompany",
"type": "boolean"
},
{
"default": "false",
"description": "make the filter inclusive for user ids, teamIds, companyIds",
"in": "query",
"name": "inclusiveFilter",
"type": "boolean"
},
{
"default": "false",
"description": "include service accounts",
"in": "query",
"name": "includeServiceAccounts",
"type": "boolean"
},
{
"default": "false",
"description": "include placeholder users",
"in": "query",
"name": "includePlaceholders",
"type": "boolean"
},
{
"default": "true",
"description": "exclude collaborators types, returning only account and contact.",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include clients",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"description": "Returns users who are missing cost rates(OCA only)",
"in": "query",
"name": "filterByNoCostRate",
"type": "boolean"
},
{
"default": "false",
"description": "exclude contact types, returning only account and collaborator.",
"in": "query",
"name": "excludeContacts",
"type": "boolean"
},
{
"description": "team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"companies",
"workingHours"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[person]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[people]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "exclude people assigned to certain project id",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
},
{
"description": "exclude certain user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
},
{
"description": "company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/people.MultiResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a list of people",
"tags": [
"People"
]
}
},
"/projects/api/v3/people/metrics/performance.json": {
"get": {
"description": "Count the number of completed tasks by user for the provided period. By\ndefault the user with the most completed tasks is shown first.",
"operationId": "GET_projects_api_v3_people_metrics_performance.json",
"parameters": [
{
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"default": "desc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/performance.PeopleMetricPerformancesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Performance of users completing the most tasks",
"tags": [
"People"
]
}
},
"/projects/api/v3/people/utilization.json": {
"get": {
"description": "Verify the user utilization.",
"operationId": "GET_projects_api_v3_people_utilization.json",
"parameters": [
{
"description": "determine the type of zoom filter used to display on the report",
"enum": [
"week",
"month",
"last3months",
"quarterbyweek",
"quarterbymonth"
],
"in": "query",
"name": "zoom",
"type": "string"
},
{
"description": "filter by start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "sortOrder",
"type": "string"
},
{
"default": "name",
"description": "sort by (deprecated, use orderBy)",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"billableutilization",
"nonbillableutilization"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"description": "filter by user first or last name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "group by",
"enum": [
"weekly",
"monthly"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "sort by",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"companycount",
"achieved",
"target",
"allocatedutilization",
"totalworkingminutes",
"availableutilization",
"unavailableutilization"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "group by",
"enum": [
"day",
"week",
"month"
],
"in": "query",
"name": "groupBy",
"type": "string"
},
{
"description": "filter by end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "return response without summary and its legacy body structure",
"in": "query",
"name": "legacyResponse",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "determine if the query is for a custom date range",
"in": "query",
"name": "isCustomDateRange",
"type": "boolean"
},
{
"default": "true",
"description": "adds report rows for individual entities",
"in": "query",
"name": "includeUtilizations",
"type": "boolean"
},
{
"default": "false",
"description": "adds report summary to response",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "true",
"description": "include collaborators",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include client users",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "IncludeCompletedTasks",
"type": "boolean"
},
{
"description": "filter by userIds",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by jobrole ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "jobRoleIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"jobroles"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"userId",
"unavailableMinutes",
"availableMinutes",
"billableMinutes",
"unbillableMinutes",
"loggedMinutes"
],
"type": "string"
},
"name": "fields[utilizations]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/utilization.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Return the user utilization.",
"tags": [
"People"
]
}
},
"/projects/api/v3/people/{personId}.json": {
"delete": {
"description": "Delete a person.",
"operationId": "DELETE_projects_api_v3_people_{personId}.json",
"parameters": [
{
"in": "path",
"name": "personId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing person.",
"tags": [
"People"
],
"x-private": true
},
"get": {
"description": "Retrieve a person record.",
"operationId": "GET_projects_api_v3_people_{personId}.json",
"parameters": [
{
"description": "user type",
"enum": [
"account",
"collaborator",
"contact"
],
"in": "query",
"name": "userType",
"type": "string"
},
{
"description": "date time",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by comment content",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"name",
"namecaseinsensitive",
"company"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"format": "date-time",
"in": "query",
"name": "lastLoginAfter",
"type": "string"
},
{
"in": "path",
"name": "personId",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "Include user job role in search",
"in": "query",
"name": "searchUserJobRole",
"type": "boolean"
},
{
"description": "Force to have the current/session user in the response",
"in": "query",
"name": "orderPrioritiseCurrentUser",
"type": "boolean"
},
{
"default": "false",
"in": "query",
"name": "onlySiteOwner",
"type": "boolean"
},
{
"default": "false",
"description": "return people only from the owner company. This will replace any provided\ncompany ID.",
"in": "query",
"name": "onlyOwnerCompany",
"type": "boolean"
},
{
"default": "false",
"description": "make the filter inclusive for user ids, teamIds, companyIds",
"in": "query",
"name": "inclusiveFilter",
"type": "boolean"
},
{
"default": "false",
"description": "include service accounts",
"in": "query",
"name": "includeServiceAccounts",
"type": "boolean"
},
{
"default": "false",
"description": "include placeholder users",
"in": "query",
"name": "includePlaceholders",
"type": "boolean"
},
{
"default": "true",
"description": "exclude collaborators types, returning only account and contact.",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include clients",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"description": "Returns users who are missing cost rates(OCA only)",
"in": "query",
"name": "filterByNoCostRate",
"type": "boolean"
},
{
"default": "false",
"description": "exclude contact types, returning only account and collaborator.",
"in": "query",
"name": "excludeContacts",
"type": "boolean"
},
{
"description": "team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"companies",
"workingHours"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[person]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[people]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "exclude people assigned to certain project id",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
},
{
"description": "exclude certain user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
},
{
"description": "company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/people.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a person",
"tags": [
"Person"
]
}
},
"/projects/api/v3/projectcategories.json": {
"get": {
"operationId": "GET_projects_api_v3_projectcategories.json",
"parameters": [
{
"description": "filter by name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by starred projects only.\nnote: if an owner company admin, counts will honour this filter,\nbut all categories will be returned regardless.",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "filter by project statuses.\nnote: if an owner company admin, counts will honour this filter,\nbut all categories will be returned regardless.",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by specific ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/category.CategoriesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a list of project categories",
"tags": [
"Categories"
]
}
},
"/projects/api/v3/projectcategories/{categoryId}.json": {
"get": {
"operationId": "GET_projects_api_v3_projectcategories_{categoryId}.json",
"parameters": [
{
"description": "filter by name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"in": "path",
"name": "categoryId",
"required": true,
"type": "integer"
},
{
"description": "filter by starred projects only.\nnote: if an owner company admin, counts will honour this filter,\nbut all categories will be returned regardless.",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "filter by project statuses.\nnote: if an owner company admin, counts will honour this filter,\nbut all categories will be returned regardless.",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by specific ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/category.CategoriesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get a specific project category",
"tags": [
"Categories"
]
}
},
"/projects/api/v3/projects.json": {
"get": {
"description": "Retrieve all projects for the provided filters. Only the projects that the\nlogged-in user can access will be returned.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_projects.json",
"parameters": [
{
"description": "updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "profitability time mode",
"enum": [
"timelogs",
"estimated"
],
"in": "query",
"name": "timeMode",
"type": "string"
},
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "project",
"description": "define the type of the report",
"enum": [
"project",
"health"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "Optional to configure the report dates displayed in a timezone",
"in": "query",
"name": "reportTimezone",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"csv",
"html",
"pdf",
"xls"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"companyname",
"datecreated",
"duedate",
"lastactivity",
"name",
"namecaseinsensitive",
"ownercompany",
"starred",
"categoryname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter by min last activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by max last activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "filter by minimum budget capacity used",
"in": "query",
"name": "minBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "filter by maximum budget capacity used",
"in": "query",
"name": "maxBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include companies in the search",
"in": "query",
"name": "searchCompanies",
"type": "boolean"
},
{
"description": "search projects beginning with the search term character only when it contains a single character.",
"in": "query",
"name": "searchByLetter",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only show projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"default": "false",
"description": "can log time on projects",
"in": "query",
"name": "onlyProjectsThatCanLogTime",
"type": "boolean"
},
{
"default": "false",
"description": "return only archived projects",
"in": "query",
"name": "onlyArchivedProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all excluded project tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include alongside normal projects, tentative ones",
"in": "query",
"name": "includeTentativeProjects",
"type": "boolean"
},
{
"description": "include sub categories when filtering by ids",
"in": "query",
"name": "includeSubCategories",
"type": "boolean"
},
{
"description": "include project status counts for tasks columns billing events milestones",
"in": "query",
"name": "includeStats",
"type": "boolean"
},
{
"default": "false",
"description": "fetch user-specific data such as isStarred",
"in": "query",
"name": "includeProjectUserInfo",
"type": "boolean"
},
{
"description": "include project profitability in response",
"in": "query",
"name": "includeProjectProfitability",
"type": "boolean"
},
{
"description": "include minimum and maximum start/end dates for projects",
"in": "query",
"name": "includeProjectDates",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include project related counts",
"in": "query",
"name": "includeCounts",
"type": "boolean"
},
{
"description": "optional to include completed projects when filtering by project statuses \"current,late\".",
"in": "query",
"name": "includeCompletedStatus",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "false",
"description": "hide projects where the logged-in user is just an observer",
"in": "query",
"name": "hideObservedProjects",
"type": "boolean"
},
{
"description": "includes filters when project ids are provided",
"in": "query",
"name": "alwaysIncludeFiltering",
"type": "boolean"
},
{
"description": "only show projects that have an explicit common membership with provided user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "usersWithExplicitMembershipIds",
"type": "array"
},
{
"description": "filter by projects that contain users associated with the team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "select the columns to use in exports.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"projectOwners",
"projectUpdates",
"companies",
"companies.countries",
"companies.industries",
"projectCategories",
"portfolioCards",
"portfolioBoards",
"portfolioColumns",
"tags",
"customfields",
"customfieldProjects",
"projectBudgets",
"activities.latest",
"users",
"createdBy",
"updatedBy",
"completedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"statusId"
],
"type": "string"
},
"name": "fields[workflows]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"stage"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioColumns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"columnId",
"projectId"
],
"type": "string"
},
"name": "fields[portfolioCards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioBoards]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldProjects]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "featuresEnabled",
"type": "array"
},
{
"description": "exclude by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude certain project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.projectsResponseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a list of projects",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/budgets/:budgetId/tasklists/budgets/:tasklistId.json": {
"patch": {
"consumes": [
"application/json"
],
"operationId": "PATCH_projects_api_v3_projects_budgets_:budgetId_tasklists_budgets_:tasklistId.json",
"parameters": [
{
"in": "body",
"name": "tasklistbudget.PatchBudgetRequest",
"required": true,
"schema": {
"$ref": "#/definitions/tasklistbudget.PatchBudgetRequest"
}
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/tasklistbudget.BudgetResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Updates a tasklist budget",
"tags": [
"Budgets"
]
}
},
"/projects/api/v3/projects/budgets/:id/tasklists/budgets.json": {
"get": {
"description": "Get a list of tasklist budgets information.",
"operationId": "GET_projects_api_v3_projects_budgets_:id_tasklists_budgets.json",
"parameters": [
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "dateCreated",
"description": "order by",
"enum": [
"dateCreated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "0",
"description": "parent project budget id",
"in": "query",
"name": "projectBudgetId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"tasklists",
"projectBudgets",
"tasklistBudgetNotifications"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklistBudgetNotifications]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tasklistbudget.BudgetsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all tasklist budgets in a project budget.",
"tags": [
"Budgets"
]
},
"put": {
"consumes": [
"application/json"
],
"description": "payload. If an ID is provided it is seen as an update, else it inserts.\nNOTE: the payload provided is the final source of truth, meaning any\nbudgets omitted will be cleared.\n\nAdds or updates task list budgets.",
"operationId": "PUT_projects_api_v3_projects_budgets_:id_tasklists_budgets.json",
"parameters": [
{
"in": "body",
"name": "tasklistbudget.BulkAddBudgetRequest",
"required": true,
"schema": {
"$ref": "#/definitions/tasklistbudget.BulkAddBudgetRequest"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tasklistbudget.BudgetsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Adds or updates task list budgets depending on the",
"tags": [
"Budgets"
],
"x-private": true
}
},
"/projects/api/v3/projects/featureorder.json": {
"put": {
"consumes": [
"application/json"
],
"description": "Each field must have an index, from 0 to numFeatures -1\nwithout repeated numbers to provide the order\nto display the features",
"operationId": "PUT_projects_api_v3_projects_featureorder.json",
"parameters": [
{
"in": "body",
"name": "project.FeatureOrderDefaults",
"required": true,
"schema": {
"$ref": "#/definitions/project.FeatureOrderDefaults"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.FeatureOrderResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Sets the default features order to display in tab",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/metrics/active.json": {
"get": {
"description": "Return the number of active projects that the logged-in user can access.",
"operationId": "GET_projects_api_v3_projects_metrics_active.json",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/active.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get the total count of active projects",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/metrics/billable.json": {
"get": {
"description": "Returns the total billable time of all projects that the logged-in user has\naccess.",
"operationId": "GET_projects_api_v3_projects_metrics_billable.json",
"parameters": [
{
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"default": "desc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/billable.ProjectMetricBillablesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get the total billable time per project",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/metrics/healths.json": {
"get": {
"description": "Return the number of projects on each health category. It will only count the\nprojects that the logged-in user can access.",
"operationId": "GET_projects_api_v3_projects_metrics_healths.json",
"parameters": [
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "project health\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/health.ProjectMetricHealthsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get a health summary for all projects",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/metrics/invoice.json": {
"get": {
"description": "Count the number of open invoices on all projects that the logged-in user has\naccess.",
"operationId": "GET_projects_api_v3_projects_metrics_invoice.json",
"parameters": [
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "project health\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/invoice.ProjectMetricInvoicesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Return open invoices across all projects",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/metrics/owners.json": {
"get": {
"description": "Count the number of projects per project owner user.",
"operationId": "GET_projects_api_v3_projects_metrics_owners.json",
"parameters": [
{
"default": "desc",
"description": "sort order",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "project health\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/owner.ProjectMetricOwnersResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get number of owned and un-assigned projects",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/metrics/unbilled.json": {
"get": {
"description": "Return the un-billed expenses for each project that the logged-in user has\naccess.",
"operationId": "GET_projects_api_v3_projects_metrics_unbilled.json",
"parameters": [
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "project health\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/unbilled.ProjectMetricUnbilledResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Return un-billed expenses across all projects",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/starred.json": {
"get": {
"description": "Retrieve all starred projects for the provided filters. Only the projects\nthat the logged-in user can access will be returned.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_projects_starred.json",
"parameters": [
{
"description": "updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "profitability time mode",
"enum": [
"timelogs",
"estimated"
],
"in": "query",
"name": "timeMode",
"type": "string"
},
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "project",
"description": "define the type of the report",
"enum": [
"project",
"health"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "Optional to configure the report dates displayed in a timezone",
"in": "query",
"name": "reportTimezone",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"csv",
"html",
"pdf",
"xls"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"companyname",
"datecreated",
"duedate",
"lastactivity",
"name",
"namecaseinsensitive",
"ownercompany",
"starred",
"categoryname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter by min last activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by max last activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "filter by minimum budget capacity used",
"in": "query",
"name": "minBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "filter by maximum budget capacity used",
"in": "query",
"name": "maxBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include companies in the search",
"in": "query",
"name": "searchCompanies",
"type": "boolean"
},
{
"description": "search projects beginning with the search term character only when it contains a single character.",
"in": "query",
"name": "searchByLetter",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only show projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"default": "false",
"description": "can log time on projects",
"in": "query",
"name": "onlyProjectsThatCanLogTime",
"type": "boolean"
},
{
"default": "false",
"description": "return only archived projects",
"in": "query",
"name": "onlyArchivedProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all excluded project tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include alongside normal projects, tentative ones",
"in": "query",
"name": "includeTentativeProjects",
"type": "boolean"
},
{
"description": "include sub categories when filtering by ids",
"in": "query",
"name": "includeSubCategories",
"type": "boolean"
},
{
"description": "include project status counts for tasks columns billing events milestones",
"in": "query",
"name": "includeStats",
"type": "boolean"
},
{
"default": "false",
"description": "fetch user-specific data such as isStarred",
"in": "query",
"name": "includeProjectUserInfo",
"type": "boolean"
},
{
"description": "include project profitability in response",
"in": "query",
"name": "includeProjectProfitability",
"type": "boolean"
},
{
"description": "include minimum and maximum start/end dates for projects",
"in": "query",
"name": "includeProjectDates",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include project related counts",
"in": "query",
"name": "includeCounts",
"type": "boolean"
},
{
"description": "optional to include completed projects when filtering by project statuses \"current,late\".",
"in": "query",
"name": "includeCompletedStatus",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "false",
"description": "hide projects where the logged-in user is just an observer",
"in": "query",
"name": "hideObservedProjects",
"type": "boolean"
},
{
"description": "includes filters when project ids are provided",
"in": "query",
"name": "alwaysIncludeFiltering",
"type": "boolean"
},
{
"description": "only show projects that have an explicit common membership with provided user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "usersWithExplicitMembershipIds",
"type": "array"
},
{
"description": "filter by projects that contain users associated with the team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "select the columns to use in exports.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"projectOwners",
"projectUpdates",
"companies",
"companies.countries",
"companies.industries",
"projectCategories",
"portfolioCards",
"portfolioBoards",
"portfolioColumns",
"tags",
"customfields",
"customfieldProjects",
"projectBudgets",
"activities.latest",
"users",
"createdBy",
"updatedBy",
"completedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"statusId"
],
"type": "string"
},
"name": "fields[workflows]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"stage"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioColumns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"columnId",
"projectId"
],
"type": "string"
},
"name": "fields[portfolioCards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioBoards]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldProjects]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "featuresEnabled",
"type": "array"
},
{
"description": "exclude by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude certain project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.projectsResponseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a list of starred projects",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/teamwork/categories.json": {
"get": {
"operationId": "GET_projects_api_v3_projects_teamwork_categories.json",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/category.CategoriesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a list of teamwork project categories",
"tags": [
"Categories"
]
}
},
"/projects/api/v3/projects/teamwork/samples.json": {
"get": {
"description": "Retrieve all sample projects for the provided filters.",
"operationId": "GET_projects_api_v3_projects_teamwork_samples.json",
"parameters": [
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "filter by sample ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"code",
"description",
"icon",
"imagePreview",
"categoryId",
"content"
],
"type": "string"
},
"name": "fields[sampleprojects]",
"type": "array"
},
{
"description": "filter by category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "categoryIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.SampleProjectsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a list of teamwork sample projects",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/templates.json": {
"get": {
"description": "Retrieve all projects templates for the provided filters. Only the projects templates that the\nlogged-in user can access will be returned.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_projects_templates.json",
"parameters": [
{
"description": "updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "profitability time mode",
"enum": [
"timelogs",
"estimated"
],
"in": "query",
"name": "timeMode",
"type": "string"
},
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "project",
"description": "define the type of the report",
"enum": [
"project",
"health"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "Optional to configure the report dates displayed in a timezone",
"in": "query",
"name": "reportTimezone",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"csv",
"html",
"pdf",
"xls"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"companyname",
"datecreated",
"duedate",
"lastactivity",
"name",
"namecaseinsensitive",
"ownercompany",
"starred",
"categoryname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter by min last activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by max last activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "filter by minimum budget capacity used",
"in": "query",
"name": "minBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "filter by maximum budget capacity used",
"in": "query",
"name": "maxBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include companies in the search",
"in": "query",
"name": "searchCompanies",
"type": "boolean"
},
{
"description": "search projects beginning with the search term character only when it contains a single character.",
"in": "query",
"name": "searchByLetter",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only show projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"default": "false",
"description": "can log time on projects",
"in": "query",
"name": "onlyProjectsThatCanLogTime",
"type": "boolean"
},
{
"default": "false",
"description": "return only archived projects",
"in": "query",
"name": "onlyArchivedProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all excluded project tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include alongside normal projects, tentative ones",
"in": "query",
"name": "includeTentativeProjects",
"type": "boolean"
},
{
"description": "include sub categories when filtering by ids",
"in": "query",
"name": "includeSubCategories",
"type": "boolean"
},
{
"description": "include project status counts for tasks columns billing events milestones",
"in": "query",
"name": "includeStats",
"type": "boolean"
},
{
"default": "false",
"description": "fetch user-specific data such as isStarred",
"in": "query",
"name": "includeProjectUserInfo",
"type": "boolean"
},
{
"description": "include project profitability in response",
"in": "query",
"name": "includeProjectProfitability",
"type": "boolean"
},
{
"description": "include minimum and maximum start/end dates for projects",
"in": "query",
"name": "includeProjectDates",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include project related counts",
"in": "query",
"name": "includeCounts",
"type": "boolean"
},
{
"description": "optional to include completed projects when filtering by project statuses \"current,late\".",
"in": "query",
"name": "includeCompletedStatus",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "false",
"description": "hide projects where the logged-in user is just an observer",
"in": "query",
"name": "hideObservedProjects",
"type": "boolean"
},
{
"description": "includes filters when project ids are provided",
"in": "query",
"name": "alwaysIncludeFiltering",
"type": "boolean"
},
{
"description": "only show projects that have an explicit common membership with provided user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "usersWithExplicitMembershipIds",
"type": "array"
},
{
"description": "filter by projects that contain users associated with the team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "select the columns to use in exports.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"projectOwners",
"projectUpdates",
"companies",
"companies.countries",
"companies.industries",
"projectCategories",
"portfolioCards",
"portfolioBoards",
"portfolioColumns",
"tags",
"customfields",
"customfieldProjects",
"projectBudgets",
"activities.latest",
"users",
"createdBy",
"updatedBy",
"completedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"statusId"
],
"type": "string"
},
"name": "fields[workflows]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"stage"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioColumns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"columnId",
"projectId"
],
"type": "string"
},
"name": "fields[portfolioCards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioBoards]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldProjects]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "featuresEnabled",
"type": "array"
},
{
"description": "exclude by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude certain project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.projectsResponseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a list of projects templates",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/tentative/{projectId}/convert.json": {
"put": {
"operationId": "PUT_projects_api_v3_projects_tentative_{projectId}_convert.json",
"parameters": [
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.SampleProjectsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Converts the given tentative project into normal",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/updates.json": {
"get": {
"description": "Return the updates from all projects that the logged-in user can access.",
"operationId": "GET_projects_api_v3_projects_updates.json",
"parameters": [
{
"description": "filter by updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"color",
"health",
"project",
"user"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by creation date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "add reactions to the response",
"in": "query",
"name": "reactions",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "true",
"description": "filter by active",
"in": "query",
"name": "activeOnly",
"type": "boolean"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"createdBy",
"deletedBy",
"likes.users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/update.ProjectUpdatesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all project updates",
"tags": [
"ProjectUpdates"
]
}
},
"/projects/api/v3/projects/{projectIds}/updates.json": {
"get": {
"description": "Return the updates from a specific project.",
"operationId": "GET_projects_api_v3_projects_{projectIds}_updates.json",
"parameters": [
{
"description": "filter by updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"color",
"health",
"project",
"user"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by creation date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"in": "path",
"name": "projectIds",
"required": true,
"type": "integer"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "add reactions to the response",
"in": "query",
"name": "reactions",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "true",
"description": "filter by active",
"in": "query",
"name": "activeOnly",
"type": "boolean"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"createdBy",
"deletedBy",
"likes.users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/update.ProjectUpdatesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all updates from a specific project",
"tags": [
"ProjectUpdates"
]
}
},
"/projects/api/v3/projects/{projectId}.json": {
"get": {
"description": "On this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_projects_{projectId}.json",
"parameters": [
{
"description": "updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "profitability time mode",
"enum": [
"timelogs",
"estimated"
],
"in": "query",
"name": "timeMode",
"type": "string"
},
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "project",
"description": "define the type of the report",
"enum": [
"project",
"health"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "Optional to configure the report dates displayed in a timezone",
"in": "query",
"name": "reportTimezone",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"csv",
"html",
"pdf",
"xls"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"companyname",
"datecreated",
"duedate",
"lastactivity",
"name",
"namecaseinsensitive",
"ownercompany",
"starred",
"categoryname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter by min last activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by max last activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "filter by minimum budget capacity used",
"in": "query",
"name": "minBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "filter by maximum budget capacity used",
"in": "query",
"name": "maxBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include companies in the search",
"in": "query",
"name": "searchCompanies",
"type": "boolean"
},
{
"description": "search projects beginning with the search term character only when it contains a single character.",
"in": "query",
"name": "searchByLetter",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only show projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"default": "false",
"description": "can log time on projects",
"in": "query",
"name": "onlyProjectsThatCanLogTime",
"type": "boolean"
},
{
"default": "false",
"description": "return only archived projects",
"in": "query",
"name": "onlyArchivedProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all excluded project tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include alongside normal projects, tentative ones",
"in": "query",
"name": "includeTentativeProjects",
"type": "boolean"
},
{
"description": "include sub categories when filtering by ids",
"in": "query",
"name": "includeSubCategories",
"type": "boolean"
},
{
"description": "include project status counts for tasks columns billing events milestones",
"in": "query",
"name": "includeStats",
"type": "boolean"
},
{
"default": "false",
"description": "fetch user-specific data such as isStarred",
"in": "query",
"name": "includeProjectUserInfo",
"type": "boolean"
},
{
"description": "include project profitability in response",
"in": "query",
"name": "includeProjectProfitability",
"type": "boolean"
},
{
"description": "include minimum and maximum start/end dates for projects",
"in": "query",
"name": "includeProjectDates",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include project related counts",
"in": "query",
"name": "includeCounts",
"type": "boolean"
},
{
"description": "optional to include completed projects when filtering by project statuses \"current,late\".",
"in": "query",
"name": "includeCompletedStatus",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "false",
"description": "hide projects where the logged-in user is just an observer",
"in": "query",
"name": "hideObservedProjects",
"type": "boolean"
},
{
"description": "includes filters when project ids are provided",
"in": "query",
"name": "alwaysIncludeFiltering",
"type": "boolean"
},
{
"description": "only show projects that have an explicit common membership with provided user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "usersWithExplicitMembershipIds",
"type": "array"
},
{
"description": "filter by projects that contain users associated with the team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "select the columns to use in exports.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"projectOwners",
"projectUpdates",
"companies",
"companies.countries",
"companies.industries",
"projectCategories",
"portfolioCards",
"portfolioBoards",
"portfolioColumns",
"tags",
"customfields",
"customfieldProjects",
"projectBudgets",
"activities.latest",
"users",
"createdBy",
"updatedBy",
"completedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"statusId"
],
"type": "string"
},
"name": "fields[workflows]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"stage"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioColumns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"columnId",
"projectId"
],
"type": "string"
},
"name": "fields[portfolioCards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioBoards]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldProjects]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "featuresEnabled",
"type": "array"
},
{
"description": "exclude by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude certain project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.responseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Returns a project",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/{projectId}/activity": {
"delete": {
"operationId": "DELETE_projects_api_v3_projects_{projectId}_activity",
"parameters": [
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Deletes a projects activity log.",
"tags": [
"Activity"
]
}
},
"/projects/api/v3/projects/{projectId}/customfields.json": {
"get": {
"description": "Return all custom field values from a specific project.",
"operationId": "GET_projects_api_v3_projects_{projectId}_customfields.json",
"parameters": [
{
"description": "filter by custom field value",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"customfields"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"description": "filter by custom field ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "customFieldIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.valuesResponseProject"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Project custom field values.",
"tags": [
"CustomFields"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Add a project custom field value.",
"operationId": "POST_projects_api_v3_projects_{projectId}_customfields.json",
"parameters": [
{
"in": "body",
"name": "value.requestProject",
"required": true,
"schema": {
"$ref": "#/definitions/value.requestProject"
}
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/value.responseProject"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Add project custom field value.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/projects/{projectId}/customfields/bulk/delete.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Remove many entries of project custom field values at once.",
"operationId": "POST_projects_api_v3_projects_{projectId}_customfields_bulk_delete.json",
"parameters": [
{
"in": "body",
"name": "value.bulkDeleteRequestProject",
"required": true,
"schema": {
"$ref": "#/definitions/value.bulkDeleteRequestProject"
}
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete many project custom fields values at once.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/projects/{projectId}/customfields/bulk/update.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Edit many entries of project custom field values at once.",
"operationId": "POST_projects_api_v3_projects_{projectId}_customfields_bulk_update.json",
"parameters": [
{
"in": "body",
"name": "value.bulkUpdateRequestProject",
"required": true,
"schema": {
"$ref": "#/definitions/value.bulkUpdateRequestProject"
}
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.valuesResponseProject"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update many project custom field values at once.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/projects/{projectId}/customfields/{customFieldId}.json": {
"delete": {
"description": "Removes a project custom field value.",
"operationId": "DELETE_projects_api_v3_projects_{projectId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing project custom field value.",
"tags": [
"CustomFields"
]
},
"get": {
"description": "Return a specific custom field value from a project.",
"operationId": "GET_projects_api_v3_projects_{projectId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.responseProject"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Project custom field value.",
"tags": [
"CustomFields"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Edit a project custom field value.",
"operationId": "PATCH_projects_api_v3_projects_{projectId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "body",
"name": "value.requestProject",
"required": true,
"schema": {
"$ref": "#/definitions/value.requestProject"
}
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.responseProject"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing project custom field value.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/projects/{projectId}/featureorder.json": {
"get": {
"operationId": "GET_projects_api_v3_projects_{projectId}_featureorder.json",
"parameters": [
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.FeatureOrderResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a project features order to display in tab",
"tags": [
"Projects"
]
},
"put": {
"consumes": [
"application/json"
],
"description": "Each field must have an index, from 0 to numFeatures -1\nwithout repeated numbers to provide the order\nto display the features",
"operationId": "PUT_projects_api_v3_projects_{projectId}_featureorder.json",
"parameters": [
{
"in": "body",
"name": "project.FeatureOrderRequest",
"required": true,
"schema": {
"$ref": "#/definitions/project.FeatureOrderRequest"
}
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/project.FeatureOrderResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Sets the the features order to display in tab",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/projects/{projectId}/latestactivity": {
"get": {
"description": "Lists the latest activity for a specific project. When you access a project\nyou will see all the recent activity. This corresponds to that view in\nTeamwork. There is some parameters you can send in to filter your results.",
"operationId": "GET_projects_api_v3_projects_{projectId}_latestactivity",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by start datetime",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"description": "sort by",
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by end datetime",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "cursor used for pagination. When using this pagination mode the page and\npageSize will be ignored, using limit to control the number of items. If\nany other filter is modified during the cursor iteration the response\nwill fall back to the first page.",
"in": "query",
"name": "cursor",
"type": "string"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "number of items to show when providing the cursor.",
"in": "query",
"name": "limit",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "group all activities on comments",
"in": "query",
"name": "groupCommentActivityType",
"type": "boolean"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"users",
"companies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateTime",
"activityType",
"latestActivityType",
"itemId",
"itemLink",
"itemType",
"itemDescription",
"itemExtraDescription",
"itemExtraLink",
"itemPublicInfo",
"forUserId",
"forUserName",
"dueDate",
"isPrivate",
"lockdownId",
"projectId",
"companyId"
],
"type": "string"
},
"name": "fields[activities]",
"type": "array"
},
{
"description": "filter by activity types",
"in": "query",
"items": {
"enum": [
"task",
"tasklist",
"project",
"message",
"notebook",
"milestone",
"like",
"file",
"link",
"billinginvoice",
"task_comment",
"milestone_comment",
"file_comment",
"link_comment",
"comment"
],
"type": "string"
},
"name": "activityTypes",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/activity.ActivitiesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "List latest activity for a specific project.",
"tags": [
"Activity"
]
}
},
"/projects/api/v3/projects/{projectId}/milestones.json": {
"get": {
"description": "This lets you query the list of milestones for a project. You can use the\nprovided filters to return only those milestones that are incomplete,\ncompleted, upcoming or late. This call uses pagination, returning 100\nmilestones per page by default.",
"operationId": "GET_projects_api_v3_projects_{projectId}_milestones.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by milestone name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "agenda",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"calendar",
"agenda"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"dateonly",
"name",
"project",
"user",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by due before date (deprecated, use dueBefore)",
"format": "date",
"in": "query",
"name": "dueBeforeDate",
"type": "string"
},
{
"description": "filter by due before date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter by due after date (deprecated, use dueAfter)",
"format": "date",
"in": "query",
"name": "dueAfterDate",
"type": "string"
},
{
"description": "filter by due after date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "show private milestones",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "show attached tasklists",
"in": "query",
"name": "showAttachedTasklists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "progress",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "filter by projects that the logged-in user is related",
"in": "query",
"name": "onlyMyProjects",
"type": "boolean"
},
{
"description": "only include milestones from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "match all milestone tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include milestones latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"default": "true",
"description": "include today when milestone status is upcoming",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"default": "true",
"description": "include team users to the responsible party ids",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"default": "true",
"description": "include tags in the reports",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "includeProgress",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists",
"in": "query",
"name": "includePercentageComplete",
"type": "boolean"
},
{
"description": "optional to include completed milestones",
"in": "query",
"name": "includeCompleted",
"type": "boolean"
},
{
"default": "true",
"description": "include company users to the responsible party ids",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "convert emoji alias to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "false",
"description": "count unread comments",
"in": "query",
"name": "countUnreadComments",
"type": "boolean"
},
{
"default": "false",
"description": "enables the calendar style layout",
"in": "query",
"name": "calendar",
"type": "boolean"
},
{
"description": "filter by milestone tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of milestone status",
"in": "query",
"items": {
"enum": [
"all",
"new",
"reopened",
"completed",
"deleted",
"pending",
"incomplete",
"late",
"today",
"upcoming"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by list of project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"users",
"completedBy",
"createdBy",
"deletedBy",
"updatedBy",
"commentFollowers",
"changeFollowers",
"tags",
"tasklists",
"tasklisttaskstats"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followers' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followerIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by creators' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "creatorIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/milestone.MilestonesResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get milestones in a project",
"tags": [
"Milestones"
]
}
},
"/projects/api/v3/projects/{projectId}/notebooks.json": {
"post": {
"consumes": [
"application/json"
],
"operationId": "POST_projects_api_v3_projects_{projectId}_notebooks.json",
"parameters": [
{
"in": "body",
"name": "notebook.Request",
"required": true,
"schema": {
"$ref": "#/definitions/notebook.Request"
}
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"default": "true",
"description": "parse emojis to unicode",
"in": "query",
"name": "getEmoji",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"tags",
"users",
"notebookCategories",
"companies",
"teams"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"contents",
"type",
"isPrivate",
"locked",
"lockdownId",
"secureContent",
"projectId",
"createdByUserID",
"updatedByUserID",
"deletedByUserID",
"dateUpdated",
"dateCreated",
"dateDeleted",
"deleted",
"categoryId",
"notebookVersionID",
"notebookVersionCreatedDateTime",
"notebookVersionUpdatedDateTime",
"latestVersionNo",
"commentsCount",
"readCommentsCount",
"contentHTML",
"privacy",
"commentFollowers",
"changeFollowers",
"projectNotifyCommentIncludeCreator",
"tagIds"
],
"type": "string"
},
"name": "fields[notebooks]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[notebookCategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/notebook.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a new notebook.",
"tags": [
"Notebooks"
]
}
},
"/projects/api/v3/projects/{projectId}/people.json": {
"get": {
"description": "Retrieve all people on the project.",
"operationId": "GET_projects_api_v3_projects_{projectId}_people.json",
"parameters": [
{
"description": "user type",
"enum": [
"account",
"collaborator",
"contact"
],
"in": "query",
"name": "userType",
"type": "string"
},
{
"description": "date time",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by comment content",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"name",
"namecaseinsensitive",
"company"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"format": "date-time",
"in": "query",
"name": "lastLoginAfter",
"type": "string"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "Include user job role in search",
"in": "query",
"name": "searchUserJobRole",
"type": "boolean"
},
{
"description": "Force to have the current/session user in the response",
"in": "query",
"name": "orderPrioritiseCurrentUser",
"type": "boolean"
},
{
"default": "false",
"in": "query",
"name": "onlySiteOwner",
"type": "boolean"
},
{
"default": "false",
"description": "return people only from the owner company. This will replace any provided\ncompany ID.",
"in": "query",
"name": "onlyOwnerCompany",
"type": "boolean"
},
{
"default": "false",
"description": "make the filter inclusive for user ids, teamIds, companyIds",
"in": "query",
"name": "inclusiveFilter",
"type": "boolean"
},
{
"default": "false",
"description": "include service accounts",
"in": "query",
"name": "includeServiceAccounts",
"type": "boolean"
},
{
"default": "false",
"description": "include placeholder users",
"in": "query",
"name": "includePlaceholders",
"type": "boolean"
},
{
"default": "true",
"description": "include project observers",
"in": "query",
"name": "includeObservers",
"type": "boolean"
},
{
"default": "true",
"description": "exclude collaborators types, returning only account and contact.",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include clients",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"description": "Returns users who are missing cost rates(OCA only)",
"in": "query",
"name": "filterByNoCostRate",
"type": "boolean"
},
{
"default": "false",
"description": "exclude contact types, returning only account and collaborator.",
"in": "query",
"name": "excludeContacts",
"type": "boolean"
},
{
"description": "team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"companies",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[person]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[people]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "exclude people assigned to certain project id",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
},
{
"description": "exclude certain user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
},
{
"description": "company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/people.MultiResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a list of people on a project",
"tags": [
"People"
]
},
"put": {
"consumes": [
"application/json"
],
"description": "Adds a list of user ID's to a project.",
"operationId": "PUT_projects_api_v3_projects_{projectId}_people.json",
"parameters": [
{
"in": "body",
"name": "people.UsersPayload",
"required": true,
"schema": {
"$ref": "#/definitions/people.UsersPayload"
}
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/people.AddPeopleToProjectResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Add people to a project",
"tags": [
"People"
]
}
},
"/projects/api/v3/projects/{projectId}/people/{personId}.json": {
"get": {
"description": "Retrieve a person record.",
"operationId": "GET_projects_api_v3_projects_{projectId}_people_{personId}.json",
"parameters": [
{
"description": "user type",
"enum": [
"account",
"collaborator",
"contact"
],
"in": "query",
"name": "userType",
"type": "string"
},
{
"description": "date time",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by comment content",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"name",
"namecaseinsensitive",
"company"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"format": "date-time",
"in": "query",
"name": "lastLoginAfter",
"type": "string"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "personId",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "Include user job role in search",
"in": "query",
"name": "searchUserJobRole",
"type": "boolean"
},
{
"description": "Force to have the current/session user in the response",
"in": "query",
"name": "orderPrioritiseCurrentUser",
"type": "boolean"
},
{
"default": "false",
"in": "query",
"name": "onlySiteOwner",
"type": "boolean"
},
{
"default": "false",
"description": "return people only from the owner company. This will replace any provided\ncompany ID.",
"in": "query",
"name": "onlyOwnerCompany",
"type": "boolean"
},
{
"default": "false",
"description": "make the filter inclusive for user ids, teamIds, companyIds",
"in": "query",
"name": "inclusiveFilter",
"type": "boolean"
},
{
"default": "false",
"description": "include service accounts",
"in": "query",
"name": "includeServiceAccounts",
"type": "boolean"
},
{
"default": "false",
"description": "include placeholder users",
"in": "query",
"name": "includePlaceholders",
"type": "boolean"
},
{
"default": "true",
"description": "exclude collaborators types, returning only account and contact.",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include clients",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"description": "Returns users who are missing cost rates(OCA only)",
"in": "query",
"name": "filterByNoCostRate",
"type": "boolean"
},
{
"default": "false",
"description": "exclude contact types, returning only account and collaborator.",
"in": "query",
"name": "excludeContacts",
"type": "boolean"
},
{
"description": "team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"companies",
"workingHours"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[person]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[people]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "exclude people assigned to certain project id",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
},
{
"description": "exclude certain user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
},
{
"description": "company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/people.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns a person on a project",
"tags": [
"Person"
]
}
},
"/projects/api/v3/projects/{projectId}/risks": {
"get": {
"description": "Return all risks for a specific project. Only filters that the logged-in user\nhas access will be returned.",
"operationId": "GET_projects_api_v3_projects_{projectId}_risks",
"parameters": [
{
"description": "filter by risks updated after specified date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by risks updated after specified date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "sort order (deprecated, use orderMode)",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "sortOrder",
"type": "string"
},
{
"description": "sort by (deprecated, use orderBy)",
"enum": [
"datecreated",
"source",
"probability",
"impact",
"result",
"project"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"description": "search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "sort order",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"description": "sort by",
"enum": [
"datecreated",
"source",
"probability",
"impact",
"result",
"project"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by probability",
"in": "query",
"name": "probabilityTo",
"type": "integer"
},
{
"description": "filter by probability",
"in": "query",
"name": "probabilityFrom",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by impact",
"in": "query",
"name": "impactTo",
"type": "integer"
},
{
"description": "filter by impact",
"in": "query",
"name": "impactFrom",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by risks that impact schedule",
"in": "query",
"name": "impactSchedule",
"type": "boolean"
},
{
"description": "filter by risks that impact performance",
"in": "query",
"name": "impactPerformance",
"type": "boolean"
},
{
"description": "filter by risks that impact cost",
"in": "query",
"name": "impactCost",
"type": "boolean"
},
{
"description": "filter by risk statuses",
"in": "query",
"items": {
"enum": [
"new",
"pending",
"closed"
],
"type": "string"
},
"name": "statuses",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "list of project statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"users",
"projects.companies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by specific ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"source",
"probability",
"probabilityValue",
"impact",
"impactValue",
"impactCost",
"impactSchedule",
"impactPerformance",
"createdOn",
"createdByUserId",
"lastChangedOn",
"lastChangedByUserId",
"result",
"mitigationPlan",
"stats",
"projectId",
"deleted",
"canEdit"
],
"type": "string"
},
"name": "fields[risks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/risk.RisksResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get risks for a specific project",
"tags": [
"Risks"
]
}
},
"/projects/api/v3/projects/{projectId}/risks/copy": {
"put": {
"description": "Copies the risk register from one project to another.",
"operationId": "PUT_projects_api_v3_projects_{projectId}_risks_copy",
"parameters": [
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Copies project risks",
"tags": [
"Risks"
]
}
},
"/projects/api/v3/projects/{projectId}/summary.json": {
"get": {
"description": "Retrieves the summary from a specific project, returning counters about\ntasks, milestones, columns, events, risks, timers, projects healths.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_projects_{projectId}_summary.json",
"parameters": [
{
"description": "used to limit the since counters to a specific period",
"enum": [
"now",
"timeRange"
],
"in": "query",
"name": "until",
"type": "string"
},
{
"description": "filter by start datetime",
"format": "date-time",
"in": "query",
"name": "timeRangeStart",
"type": "string"
},
{
"description": "filter by end datetime",
"format": "date-time",
"in": "query",
"name": "timeRangeEnd",
"type": "string"
},
{
"description": "filter by time range. It will be ignored if timeRangeStart and timeRangeEnd\nwere informed.",
"enum": [
"yesterday",
"today",
"thisweek",
"lastweek",
"thismonth",
"lastmonth",
"last3months",
"last6months"
],
"in": "query",
"name": "timeRange",
"type": "string"
},
{
"description": "project status (deprecated, use projectStatuses)",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "status",
"type": "string"
},
{
"description": "project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"default": "7",
"description": "number of days remaining to event's start",
"in": "query",
"name": "eventsDaysAhead",
"type": "integer"
},
{
"description": "enforce today is considered as start date for today's tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "filter by my unread messages only",
"in": "query",
"name": "unreadMessagesMineOnly",
"type": "boolean"
},
{
"description": "filter by my unread comments only",
"in": "query",
"name": "unreadCommentsMineOnly",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "filter only project events",
"in": "query",
"name": "onlyProjectEvents",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched (deprecated, use matchAllProjectTags)",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include teams related to the taskAssigneeUserIds",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "count only events that the users are attending",
"in": "query",
"name": "eventsAttendingOnly",
"type": "boolean"
},
{
"description": "the since section will only use taskAssigneeUserIds if this flag is true\n(keeps backward compatibility)",
"in": "query",
"name": "applyTaskAssigneeUsersToSince",
"type": "boolean"
},
{
"default": "false",
"description": "when enabled unread counters will respect the time range period.",
"in": "query",
"name": "applySinceOnUnread",
"type": "boolean"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by user ids who time logged",
"in": "query",
"items": {
"type": "integer"
},
"name": "timeLoggedByUserIds",
"type": "array"
},
{
"description": "filter by user ids with tasks assigned",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskAssigneeUserIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "project health (deprecated, use projectHealths)\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "filter by user ids with milestones assigned",
"in": "query",
"items": {
"type": "integer"
},
"name": "milestoneAssigneeUserIds",
"type": "array"
},
{
"description": "project healths (deprecated, use projectHealths)\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "health",
"type": "array"
},
{
"description": "filter by project tag ids (deprecated, use projectTagIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterTagIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"comments",
"messages"
],
"type": "string"
},
"name": "fields[unread]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"mine",
"all"
],
"type": "string"
},
"name": "fields[time]",
"type": "array"
},
{
"description": "sparse fields",
"in": "query",
"items": {
"enum": [
"everyone",
"mine"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"count",
"data"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"tasksComplete",
"tasksCreated",
"events",
"dateTime"
],
"type": "string"
},
"name": "fields[since]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"total",
"open",
"pending",
"closed"
],
"type": "string"
},
"name": "fields[risks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"everyone",
"mine"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"description": "0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "string"
},
"name": "fields[health]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"today",
"upcoming"
],
"type": "string"
},
"name": "fields[events]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"count",
"data"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"description": "filter by company ids (deprecated, use projectCompanyIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
},
{
"description": "filter by user ids with tasks or milestones assigned",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeUserIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/summary.ProjectResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get project summary dashboard",
"tags": [
"Summary"
]
}
},
"/projects/api/v3/projects/{projectId}/tasklists": {
"get": {
"operationId": "GET_projects_api_v3_projects_{projectId}_tasklists",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "displayorder",
"description": "order by",
"enum": [
"displayorder",
"name",
"status",
"createdat",
"updatedat",
"project"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"default": "nil",
"description": "filter the task list budget by its parent project budget id, if none\nis provided it weill default to the current active budget.",
"in": "query",
"name": "projectBudgetId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"default": "false",
"description": "sort active lists first",
"in": "query",
"name": "sortActiveListsFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "include private items",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "include completed items",
"in": "query",
"name": "showCompleted",
"type": "boolean"
},
{
"default": "false",
"description": "this means use the tasklist report endpoint, which has totally different query params",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "include empty lists",
"in": "query",
"name": "getEmptyLists",
"type": "boolean"
},
{
"default": "false",
"description": "include only completed items",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"defaultTasks",
"defaultTasks.users",
"defaultTasks.teams",
"defaultTasks.reminders",
"defaultTasks.customfields",
"defaultTasks.companies",
"createdBy",
"updatedBy",
"companies",
"projects",
"milestones",
"defaultCustomfields",
"defaultCustomfieldTasks",
"defaultColumns",
"defaultWorkflowStages",
"defaultWorkflows",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"default": "nil",
"description": "Exclude certain tasklists from the response",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tasklist.TasklistsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get tasklists in a project",
"tags": [
"TaskLists"
]
}
},
"/projects/api/v3/projects/{projectId}/tasklists.csv": {
"get": {
"description": "Generates a task list report in CSV format containing all tasks for the\nprovided filters. Only the tasks that the logged-in user can access will be\nreturned.",
"operationId": "GET_projects_api_v3_projects_{projectId}_tasklists.csv",
"parameters": [
{
"default": "anytime",
"description": "filter by task date",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskDate",
"type": "string"
},
{
"description": "filter by start datetime",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "manual",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedatdesc",
"completedat",
"duestartdate",
"duestartdatedesc",
"alldates",
"alldatesdesc",
"duedateDESC",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by end datetime",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode of the comments",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "commentsOrderMode",
"type": "string"
},
{
"description": "filter by task list",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by project",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "onlyCompletedTasks",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include time",
"in": "query",
"name": "includeTime",
"type": "boolean"
},
{
"default": "true",
"description": "include tags",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "true",
"description": "include stages",
"in": "query",
"name": "includeStages",
"type": "boolean"
},
{
"default": "true",
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include late tasks",
"in": "query",
"name": "includeLateTasks",
"type": "boolean"
},
{
"default": "true",
"description": "include estimated time",
"in": "query",
"name": "includeEstimatedTime",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include comments",
"in": "query",
"name": "includeComments",
"type": "boolean"
},
{
"description": "include comment avatars",
"in": "query",
"name": "includeCommentAvatars",
"type": "boolean"
},
{
"default": "true",
"description": "include columns",
"in": "query",
"name": "includeColumns",
"type": "boolean"
},
{
"description": "include anytime tasks",
"in": "query",
"name": "includeAnytimeTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "ignore task start dates",
"in": "query",
"name": "ignoreStartDates",
"type": "boolean"
},
{
"description": "group by task lists",
"in": "query",
"name": "groupByTasklists",
"type": "boolean"
},
{
"description": "filter by tag names",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json",
"text/csv"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate tasklist report in CSV format",
"tags": [
"TaskLists"
]
}
},
"/projects/api/v3/projects/{projectId}/tasklists.html": {
"get": {
"description": "Generates a task list report in HTML format containing all tasks for the\nprovided filters. Only the tasks that the logged-in user can access will be\nreturned.",
"operationId": "GET_projects_api_v3_projects_{projectId}_tasklists.html",
"parameters": [
{
"default": "anytime",
"description": "filter by task date",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskDate",
"type": "string"
},
{
"description": "filter by start datetime",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "manual",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedatdesc",
"completedat",
"duestartdate",
"duestartdatedesc",
"alldates",
"alldatesdesc",
"duedateDESC",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by end datetime",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode of the comments",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "commentsOrderMode",
"type": "string"
},
{
"description": "filter by task list",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by project",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "onlyCompletedTasks",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include time",
"in": "query",
"name": "includeTime",
"type": "boolean"
},
{
"default": "true",
"description": "include tags",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "true",
"description": "include stages",
"in": "query",
"name": "includeStages",
"type": "boolean"
},
{
"default": "true",
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include late tasks",
"in": "query",
"name": "includeLateTasks",
"type": "boolean"
},
{
"default": "true",
"description": "include estimated time",
"in": "query",
"name": "includeEstimatedTime",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include comments",
"in": "query",
"name": "includeComments",
"type": "boolean"
},
{
"description": "include comment avatars",
"in": "query",
"name": "includeCommentAvatars",
"type": "boolean"
},
{
"default": "true",
"description": "include columns",
"in": "query",
"name": "includeColumns",
"type": "boolean"
},
{
"description": "include anytime tasks",
"in": "query",
"name": "includeAnytimeTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "ignore task start dates",
"in": "query",
"name": "ignoreStartDates",
"type": "boolean"
},
{
"description": "group by task lists",
"in": "query",
"name": "groupByTasklists",
"type": "boolean"
},
{
"description": "filter by tag names",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json",
"text/html"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate tasklist report in HTML format",
"tags": [
"TaskLists"
]
}
},
"/projects/api/v3/projects/{projectId}/tasklists.pdf": {
"get": {
"description": "Generates a task list report in PDF format containing all tasks for the\nprovided filters. Only the tasks that the logged-in user can access will be\nreturned.",
"operationId": "GET_projects_api_v3_projects_{projectId}_tasklists.pdf",
"parameters": [
{
"default": "anytime",
"description": "filter by task date",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskDate",
"type": "string"
},
{
"description": "filter by start datetime",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "manual",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedatdesc",
"completedat",
"duestartdate",
"duestartdatedesc",
"alldates",
"alldatesdesc",
"duedateDESC",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by end datetime",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode of the comments",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "commentsOrderMode",
"type": "string"
},
{
"description": "filter by task list",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by project",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "onlyCompletedTasks",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include time",
"in": "query",
"name": "includeTime",
"type": "boolean"
},
{
"default": "true",
"description": "include tags",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "true",
"description": "include stages",
"in": "query",
"name": "includeStages",
"type": "boolean"
},
{
"default": "true",
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include late tasks",
"in": "query",
"name": "includeLateTasks",
"type": "boolean"
},
{
"default": "true",
"description": "include estimated time",
"in": "query",
"name": "includeEstimatedTime",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include comments",
"in": "query",
"name": "includeComments",
"type": "boolean"
},
{
"description": "include comment avatars",
"in": "query",
"name": "includeCommentAvatars",
"type": "boolean"
},
{
"default": "true",
"description": "include columns",
"in": "query",
"name": "includeColumns",
"type": "boolean"
},
{
"description": "include anytime tasks",
"in": "query",
"name": "includeAnytimeTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "ignore task start dates",
"in": "query",
"name": "ignoreStartDates",
"type": "boolean"
},
{
"description": "group by task lists",
"in": "query",
"name": "groupByTasklists",
"type": "boolean"
},
{
"description": "filter by tag names",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json",
"application/pdf"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate tasklist report in PDF format",
"tags": [
"TaskLists"
]
}
},
"/projects/api/v3/projects/{projectId}/tasklists.xlsx": {
"get": {
"description": "Generates a task list report in XLSX format containing all tasks for the\nprovided filters. Only the tasks that the logged-in user can access will be\nreturned.",
"operationId": "GET_projects_api_v3_projects_{projectId}_tasklists.xlsx",
"parameters": [
{
"default": "anytime",
"description": "filter by task date",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskDate",
"type": "string"
},
{
"description": "filter by start datetime",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "manual",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedatdesc",
"completedat",
"duestartdate",
"duestartdatedesc",
"alldates",
"alldatesdesc",
"duedateDESC",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by end datetime",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode of the comments",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "commentsOrderMode",
"type": "string"
},
{
"description": "filter by task list",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by project",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "onlyCompletedTasks",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include time",
"in": "query",
"name": "includeTime",
"type": "boolean"
},
{
"default": "true",
"description": "include tags",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "true",
"description": "include stages",
"in": "query",
"name": "includeStages",
"type": "boolean"
},
{
"default": "true",
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include late tasks",
"in": "query",
"name": "includeLateTasks",
"type": "boolean"
},
{
"default": "true",
"description": "include estimated time",
"in": "query",
"name": "includeEstimatedTime",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include comments",
"in": "query",
"name": "includeComments",
"type": "boolean"
},
{
"description": "include comment avatars",
"in": "query",
"name": "includeCommentAvatars",
"type": "boolean"
},
{
"default": "true",
"description": "include columns",
"in": "query",
"name": "includeColumns",
"type": "boolean"
},
{
"description": "include anytime tasks",
"in": "query",
"name": "includeAnytimeTasks",
"type": "boolean"
},
{
"default": "false",
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "ignore task start dates",
"in": "query",
"name": "ignoreStartDates",
"type": "boolean"
},
{
"description": "group by task lists",
"in": "query",
"name": "groupByTasklists",
"type": "boolean"
},
{
"description": "filter by tag names",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate tasklist report in XLSX format",
"tags": [
"TaskLists"
]
}
},
"/projects/api/v3/projects/{projectId}/tasks.json": {
"get": {
"description": "Return multiple tasks according to the provided filter.\n\n\nOn this endpoint you can filter by custom fields. The syntax for the\nquery parameter is the following:\n\n customField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n customField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_projects_{projectId}_tasks.json",
"parameters": [
{
"description": "filter by updated before date",
"format": "date-time",
"in": "query",
"name": "updatedBefore",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by today",
"format": "date-time",
"in": "query",
"name": "today",
"type": "string"
},
{
"description": "filter by a taskFilter",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskFilter",
"type": "string"
},
{
"description": "filter on start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "task",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"task",
"tasktime"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"html",
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by task priority",
"in": "query",
"name": "priority",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "duedate",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedat",
"duestartdate",
"alldates",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname",
"createdby",
"completedby",
"assignedto",
"taskstatus",
"taskduedate",
"customfield",
"estimatedtime",
"boardcolumn",
"taskgroupid",
"taskgroupname",
"taskgroup",
"displayorder",
"projectmanual",
"stagedisplayorder",
"stage"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter on end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "filter before a due date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter after a due date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"description": "filter on deleted after date",
"format": "date-time",
"in": "query",
"name": "deletedAfter",
"type": "string"
},
{
"description": "filter by created filter",
"enum": [
"anytime",
"today",
"yesterday",
"custom"
],
"in": "query",
"name": "createdFilter",
"type": "string"
},
{
"description": "filter by created date code",
"in": "query",
"name": "createdDateCode",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by completed before date",
"format": "date-time",
"in": "query",
"name": "completedBefore",
"type": "string"
},
{
"description": "filter by completed after date",
"format": "date-time",
"in": "query",
"name": "completedAfter",
"type": "string"
},
{
"description": "filter by updated user id",
"in": "query",
"name": "updatedByUserId",
"type": "integer"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by parent task ids",
"in": "query",
"name": "parentTaskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "include task id",
"in": "query",
"name": "includeTaskId",
"type": "integer"
},
{
"description": "provide a user saved filter ID",
"in": "query",
"name": "filterId",
"type": "integer"
},
{
"description": "filter by completed user id",
"in": "query",
"name": "completedByUserId",
"type": "integer"
},
{
"default": "false",
"description": "use daterange logic from table when getting the tasks",
"in": "query",
"name": "useTaskDateRange",
"type": "boolean"
},
{
"description": "use start dates for todays tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "filter on all projects",
"in": "query",
"name": "useAllProjects",
"type": "boolean"
},
{
"default": "false",
"description": "sort active tasks first",
"in": "query",
"name": "sortActiveFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include tasks from completed lists",
"in": "query",
"name": "showCompletedLists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"description": "only untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "only return tasks that are unplanned. Not assigned, no due date or\nmissing estimated time.",
"in": "query",
"name": "onlyUnplanned",
"type": "boolean"
},
{
"description": "filter by only tasks with unread comments",
"in": "query",
"name": "onlyTasksWithUnreadComments",
"type": "boolean"
},
{
"description": "filter by only tasks with tickets",
"in": "query",
"name": "onlyTasksWithTickets",
"type": "boolean"
},
{
"description": "only return tasks with estimated time",
"in": "query",
"name": "onlyTasksWithEstimatedTime",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only include tasks from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "nest sub tasks",
"in": "query",
"name": "nestSubTasks",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include tasks latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"description": "include untagged tasks",
"in": "query",
"name": "includeUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by include tomorrow",
"in": "query",
"name": "includeTomorrow",
"type": "boolean"
},
{
"description": "filter by include today",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"description": "include members of the given teams",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without due dates",
"in": "query",
"name": "includeTasksWithoutDueDates",
"type": "boolean"
},
{
"default": "true",
"description": "include tasks with cards",
"in": "query",
"name": "includeTasksWithCards",
"type": "boolean"
},
{
"description": "include tasks from deleted lists",
"in": "query",
"name": "includeTasksFromDeletedLists",
"type": "boolean"
},
{
"default": "false",
"description": "include total count of tasks for given filter",
"in": "query",
"name": "includeTasksCount",
"type": "boolean"
},
{
"description": "include ids of active subtasks, dependencies, predecessors",
"in": "query",
"name": "includeRelatedTasks",
"type": "boolean"
},
{
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include overdue tasks",
"in": "query",
"name": "includeOverdueTasks",
"type": "boolean"
},
{
"description": "include original due date of a task",
"in": "query",
"name": "includeOriginalDueDate",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"description": "include ids of completed predecessors. It must be provided with\nincludeRelatedTasks flag or with the predecessors sideload.",
"in": "query",
"name": "includeCompletedPredecessors",
"type": "boolean"
},
{
"description": "include members of the given companies",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each task",
"in": "query",
"name": "includeCommentStats",
"type": "boolean"
},
{
"description": "filter by include blocked",
"in": "query",
"name": "includeBlocked",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each file attachment",
"in": "query",
"name": "includeAttachmentCommentStats",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "group by tasklist",
"in": "query",
"name": "groupByTasklist",
"type": "boolean"
},
{
"description": "group by taskgroup",
"in": "query",
"name": "groupByTaskgroup",
"type": "boolean"
},
{
"description": "get sub tasks",
"in": "query",
"name": "getSubTasks",
"type": "boolean"
},
{
"description": "get files",
"in": "query",
"name": "getFiles",
"type": "boolean"
},
{
"description": "set due date as milestone due date if due date is null and there's a related milestone",
"in": "query",
"name": "fallbackToMilestoneDueDate",
"type": "boolean"
},
{
"description": "For tasks created in a project template it's possible to assign a role instead of people, companies or teams.\nThis role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name\nand return it inside a special field.",
"in": "query",
"name": "extractTemplateRoleName",
"type": "boolean"
},
{
"description": "exclude assignee not on project teams",
"in": "query",
"name": "excludeAssigneeNotOnProjectTeams",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "check if task has reminders",
"in": "query",
"name": "checkForReminders",
"type": "boolean"
},
{
"default": "true",
"description": "when filtering by assigned or unassagned tasks, include assignees that\nare not in the project.",
"in": "query",
"name": "allowAssigneesOutsideProject",
"type": "boolean"
},
{
"description": "customise the report by selecting columns to be displayed for tasks report",
"in": "query",
"items": {
"type": "string"
},
"name": "tasksSelectedColumns",
"type": "array"
},
{
"description": "filter by tasklist ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tasklistIds",
"type": "array"
},
{
"description": "filter by taskgroup ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskgroupIds",
"type": "array"
},
{
"description": "filter by task included set",
"in": "query",
"items": {
"enum": [
"overdue",
"nodate",
"nostartdate",
"noduedate",
"nostartwithfutureduedate",
"taskListNames",
"projectNames"
],
"type": "string"
},
"name": "taskIncludedSet",
"type": "array"
},
{
"description": "filter by tag values",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of task status",
"in": "query",
"items": {
"enum": [
"upcoming",
"late",
"all"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "skip crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipCRMDealIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed for planned vs actual.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "projectFeaturesEnabled",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"tasklists",
"parentTasks",
"companies",
"teams",
"users",
"milestones",
"comments",
"comments.users",
"tags",
"cards",
"cards.columns",
"timeTotals",
"taskSequences",
"commentFollowers",
"changeFollowers",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users",
"attachments",
"attachments.users",
"subtaskStats",
"timers",
"predecessors",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followed by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followedByUserIds",
"type": "array"
},
{
"description": "filter by board column ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterBoardColumnIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"displayOrder",
"projectId",
"status"
],
"type": "string"
},
"name": "fields[taskgroups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"frequency",
"selectedWeekDays",
"endDate",
"monthlyRepeatType",
"duration",
"rrule"
],
"type": "string"
},
"name": "fields[taskSequences]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"late",
"today",
"tomorrow",
"later-this-week",
"next-week",
"later",
"no-due-date"
],
"type": "string"
},
"name": "fields[groups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"isPrivate",
"latestFileVersionNo",
"versionId",
"status",
"description",
"lockdownId",
"tagIds",
"changeFollowers",
"commentFollowers",
"originalName",
"displayName",
"isLocked",
"lockedByUserId",
"lockedDate",
"size",
"uploadedDate",
"uploadedByUserID",
"updatedAt",
"deletedAt",
"deletedBy",
"fileSource",
"projectId",
"numLikes",
"reactions",
"versions",
"downloadURL",
"previewURL",
"thumbURL",
"relatedItems",
"commentsCount",
"commentsCountRead",
"categoryId"
],
"type": "string"
},
"name": "fields[files]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldTasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"title"
],
"type": "string"
},
"name": "fields[comments]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"displayOrder",
"createdAt",
"updatedAt",
"settings",
"sort",
"sortOrder",
"deletedAt",
"project",
"hasTriggers",
"deleted",
"stats",
"defaultTasklist"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"displayOrder",
"archived",
"archivedAt",
"archivedBy",
"createdAt",
"createBy",
"updatedAt",
"visible",
"status",
"deleteBy",
"deletedAt"
],
"type": "string"
},
"name": "fields[cards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "the ids of the expanded tasks",
"in": "query",
"items": {
"type": "integer"
},
"name": "expandedIds",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "crmDealIds",
"type": "array"
},
{
"description": "filter by creator user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "createdByUserIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/task.tasksResponseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get a specific project's tasks.",
"tags": [
"Tasks"
]
}
},
"/projects/api/v3/projects/{projectId}/time.json": {
"get": {
"description": "Return logged time entries for a specific project. Only the time entries that\nthe logged-in user can access will be returned.",
"operationId": "GET_projects_api_v3_projects_{projectId}_time.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by a starting date",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "sort order",
"enum": [
"company",
"date",
"dateupdated",
"project",
"task",
"tasklist",
"user",
"description",
"billed",
"billable",
"timespent"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"non-billable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by the user who updated the timelog",
"in": "query",
"name": "updatedBy",
"type": "integer"
},
{
"description": "filter by ticket id",
"in": "query",
"name": "ticketId",
"type": "integer"
},
{
"description": "filter by tasklist id",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"description": "filter by task id (deprecated, use taskIds)",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by project id (deprecated, use projectIds)",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by invoice id",
"in": "query",
"name": "invoiceId",
"type": "integer"
},
{
"description": "filter by budget id",
"in": "query",
"name": "budgetId",
"type": "integer"
},
{
"description": "filter by allocation id",
"in": "query",
"name": "allocationId",
"type": "integer"
},
{
"description": "use fallback method, where timelogs on deleted tasks and tasklist\nwill fall back to the parent project.",
"in": "query",
"name": "useFallbackMethod",
"type": "boolean"
},
{
"description": "filter by timelogs that are directly logged against projects and not its child tasks",
"in": "query",
"name": "unattachedTimelogs",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "used to return the cost rate and total",
"in": "query",
"name": "returnCostInfo",
"type": "boolean"
},
{
"description": "used to return the billable rate and total",
"in": "query",
"name": "returnBillableInfo",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all task tags",
"in": "query",
"name": "matchAllTaskTags",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "include totals",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "false",
"description": "include permissions",
"in": "query",
"name": "includePermissions",
"type": "boolean"
},
{
"default": "false",
"description": "include descendants",
"in": "query",
"name": "includeDescendants",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by task tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskTagIds",
"type": "array"
},
{
"description": "filter by task statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "taskStatuses",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project company ids (deprecated, use projectCompanyIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectsFromCompanyId",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids\nset to 0 to filter by projects without a category",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"tags",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"tasks.users",
"users",
"project.billing",
"project.billing.currencies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateCreated",
"minutes",
"description",
"timeLogged",
"billable",
"deleted",
"dateDeleted",
"hasStartTime",
"dateEdited",
"deskTicketId",
"userId",
"taskId",
"projectId",
"loggedByUserId",
"deletedByUserId",
"editedByUserId",
"taskIdPreMove",
"projectBillingInvoiceId"
],
"type": "string"
},
"name": "fields[timelogs]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedTeamIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.TimelogsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get time entries for a specific project",
"tags": [
"TimeTracking"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Create a time entry in the desired project.",
"operationId": "POST_projects_api_v3_projects_{projectId}_time.json",
"parameters": [
{
"in": "body",
"name": "timelog.Request",
"required": true,
"schema": {
"$ref": "#/definitions/timelog.Request"
}
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/timelog.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"422": {
"description": "422 Unprocessable Entity",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a time entry in a specific project.",
"tags": [
"TimeTracking"
],
"x-private": true
}
},
"/projects/api/v3/projects/{projectId}/time/total.json": {
"get": {
"operationId": "GET_projects_api_v3_projects_{projectId}_time_total.json",
"parameters": [
{
"description": "filter by updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by a starting date",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"non-billable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by user id (deprecated, use assignedToUserIds)",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"description": "filter by tasklist id",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"description": "filter by task id (deprecated, use taskIds)",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"in": "path",
"name": "projectId",
"required": true,
"type": "integer"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"description": "filter by desk ticket id",
"in": "query",
"name": "deskTicketId",
"type": "integer"
},
{
"description": "used to return the cost rate and total",
"in": "query",
"name": "returnCostInfo",
"type": "boolean"
},
{
"description": "used to return the billable rate and total",
"in": "query",
"name": "returnBillableInfo",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "get subtask totals",
"in": "query",
"name": "includeDescendants",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by user ids (deprecated, use assignedToUserIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by task statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "taskStatuses",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by timelog tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"default": "all",
"description": "filter by sub-task status, includeDescendants must be set to true\nfor this to have any effect",
"in": "query",
"items": {
"enum": [
"all",
"completed",
"incomplete"
],
"type": "string"
},
"name": "subTaskStatuses",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids\nset to 0 to filter by projects without a category",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedTeamIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.TotalsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get timelog totals for a specific project.",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/reporting/precanned/companytime.json": {
"get": {
"description": "Return all logged time entries for all projects grouped by company ID.\nOnly the time entries that the logged-in user can access will be returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_companytime.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by a starting date",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "sort order",
"enum": [
"company",
"date",
"dateupdated",
"project",
"task",
"tasklist",
"user",
"description",
"billed",
"billable",
"timespent"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"non-billable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by the user who updated the timelog",
"in": "query",
"name": "updatedBy",
"type": "integer"
},
{
"description": "filter by ticket id",
"in": "query",
"name": "ticketId",
"type": "integer"
},
{
"description": "filter by tasklist id",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"description": "filter by task id (deprecated, use taskIds)",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"description": "filter by project id (deprecated, use projectIds)",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by invoice id",
"in": "query",
"name": "invoiceId",
"type": "integer"
},
{
"description": "filter by budget id",
"in": "query",
"name": "budgetId",
"type": "integer"
},
{
"description": "filter by allocation id",
"in": "query",
"name": "allocationId",
"type": "integer"
},
{
"description": "use fallback method, where timelogs on deleted tasks and tasklist\nwill fall back to the parent project.",
"in": "query",
"name": "useFallbackMethod",
"type": "boolean"
},
{
"description": "filter by timelogs that are directly logged against projects and not its child tasks",
"in": "query",
"name": "unattachedTimelogs",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "used to return the cost rate and total",
"in": "query",
"name": "returnCostInfo",
"type": "boolean"
},
{
"description": "used to return the billable rate and total",
"in": "query",
"name": "returnBillableInfo",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all task tags",
"in": "query",
"name": "matchAllTaskTags",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "include totals",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "false",
"description": "include permissions",
"in": "query",
"name": "includePermissions",
"type": "boolean"
},
{
"default": "false",
"description": "include descendants",
"in": "query",
"name": "includeDescendants",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by task tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskTagIds",
"type": "array"
},
{
"description": "filter by task statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "taskStatuses",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project company ids (deprecated, use projectCompanyIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectsFromCompanyId",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids\nset to 0 to filter by projects without a category",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"tags",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"tasks.users",
"users",
"project.billing",
"project.billing.currencies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateCreated",
"minutes",
"description",
"timeLogged",
"billable",
"deleted",
"dateDeleted",
"hasStartTime",
"dateEdited",
"deskTicketId",
"userId",
"taskId",
"projectId",
"loggedByUserId",
"deletedByUserId",
"editedByUserId",
"taskIdPreMove",
"projectBillingInvoiceId"
],
"type": "string"
},
"name": "fields[timelogs]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedTeamIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.CompanyTimelogsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all time entries, grouped by company ID",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/reporting/precanned/health/projects.csv": {
"get": {
"description": "Generates a project report in CSV format containing all projects for the\nprovided filters. Only the projects that the logged-in user can access will\nbe returned.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_reporting_precanned_health_projects.csv",
"parameters": [
{
"description": "updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "profitability time mode",
"enum": [
"timelogs",
"estimated"
],
"in": "query",
"name": "timeMode",
"type": "string"
},
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "project",
"description": "define the type of the report",
"enum": [
"project",
"health"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "Optional to configure the report dates displayed in a timezone",
"in": "query",
"name": "reportTimezone",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"csv",
"html",
"pdf",
"xls"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"companyname",
"datecreated",
"duedate",
"lastactivity",
"name",
"namecaseinsensitive",
"ownercompany",
"starred",
"categoryname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter by min last activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by max last activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "filter by minimum budget capacity used",
"in": "query",
"name": "minBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "filter by maximum budget capacity used",
"in": "query",
"name": "maxBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include companies in the search",
"in": "query",
"name": "searchCompanies",
"type": "boolean"
},
{
"description": "search projects beginning with the search term character only when it contains a single character.",
"in": "query",
"name": "searchByLetter",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only show projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"default": "false",
"description": "can log time on projects",
"in": "query",
"name": "onlyProjectsThatCanLogTime",
"type": "boolean"
},
{
"default": "false",
"description": "return only archived projects",
"in": "query",
"name": "onlyArchivedProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all excluded project tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include alongside normal projects, tentative ones",
"in": "query",
"name": "includeTentativeProjects",
"type": "boolean"
},
{
"description": "include sub categories when filtering by ids",
"in": "query",
"name": "includeSubCategories",
"type": "boolean"
},
{
"description": "include project status counts for tasks columns billing events milestones",
"in": "query",
"name": "includeStats",
"type": "boolean"
},
{
"default": "false",
"description": "fetch user-specific data such as isStarred",
"in": "query",
"name": "includeProjectUserInfo",
"type": "boolean"
},
{
"description": "include project profitability in response",
"in": "query",
"name": "includeProjectProfitability",
"type": "boolean"
},
{
"description": "include minimum and maximum start/end dates for projects",
"in": "query",
"name": "includeProjectDates",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include project related counts",
"in": "query",
"name": "includeCounts",
"type": "boolean"
},
{
"description": "optional to include completed projects when filtering by project statuses \"current,late\".",
"in": "query",
"name": "includeCompletedStatus",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "false",
"description": "hide projects where the logged-in user is just an observer",
"in": "query",
"name": "hideObservedProjects",
"type": "boolean"
},
{
"description": "includes filters when project ids are provided",
"in": "query",
"name": "alwaysIncludeFiltering",
"type": "boolean"
},
{
"description": "only show projects that have an explicit common membership with provided user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "usersWithExplicitMembershipIds",
"type": "array"
},
{
"description": "filter by projects that contain users associated with the team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "select the columns to use in exports.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"projectOwners",
"projectUpdates",
"companies",
"companies.countries",
"companies.industries",
"projectCategories",
"portfolioCards",
"portfolioBoards",
"portfolioColumns",
"tags",
"customfields",
"customfieldProjects",
"projectBudgets",
"activities.latest",
"users",
"createdBy",
"updatedBy",
"completedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"statusId"
],
"type": "string"
},
"name": "fields[workflows]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"stage"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioColumns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"columnId",
"projectId"
],
"type": "string"
},
"name": "fields[portfolioCards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioBoards]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldProjects]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "featuresEnabled",
"type": "array"
},
{
"description": "exclude by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude certain project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
}
],
"produces": [
"application/json",
"text/csv"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate project report in CSV format",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/reporting/precanned/health/projects.html": {
"get": {
"description": "Generates a project report in HTML format containing all projects for the\nprovided filters. Only the projects that the logged-in user can access will\nbe returned.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_reporting_precanned_health_projects.html",
"parameters": [
{
"description": "updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "profitability time mode",
"enum": [
"timelogs",
"estimated"
],
"in": "query",
"name": "timeMode",
"type": "string"
},
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "project",
"description": "define the type of the report",
"enum": [
"project",
"health"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "Optional to configure the report dates displayed in a timezone",
"in": "query",
"name": "reportTimezone",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"csv",
"html",
"pdf",
"xls"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"companyname",
"datecreated",
"duedate",
"lastactivity",
"name",
"namecaseinsensitive",
"ownercompany",
"starred",
"categoryname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter by min last activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by max last activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "filter by minimum budget capacity used",
"in": "query",
"name": "minBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "filter by maximum budget capacity used",
"in": "query",
"name": "maxBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include companies in the search",
"in": "query",
"name": "searchCompanies",
"type": "boolean"
},
{
"description": "search projects beginning with the search term character only when it contains a single character.",
"in": "query",
"name": "searchByLetter",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only show projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"default": "false",
"description": "can log time on projects",
"in": "query",
"name": "onlyProjectsThatCanLogTime",
"type": "boolean"
},
{
"default": "false",
"description": "return only archived projects",
"in": "query",
"name": "onlyArchivedProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all excluded project tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include alongside normal projects, tentative ones",
"in": "query",
"name": "includeTentativeProjects",
"type": "boolean"
},
{
"description": "include sub categories when filtering by ids",
"in": "query",
"name": "includeSubCategories",
"type": "boolean"
},
{
"description": "include project status counts for tasks columns billing events milestones",
"in": "query",
"name": "includeStats",
"type": "boolean"
},
{
"default": "false",
"description": "fetch user-specific data such as isStarred",
"in": "query",
"name": "includeProjectUserInfo",
"type": "boolean"
},
{
"description": "include project profitability in response",
"in": "query",
"name": "includeProjectProfitability",
"type": "boolean"
},
{
"description": "include minimum and maximum start/end dates for projects",
"in": "query",
"name": "includeProjectDates",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include project related counts",
"in": "query",
"name": "includeCounts",
"type": "boolean"
},
{
"description": "optional to include completed projects when filtering by project statuses \"current,late\".",
"in": "query",
"name": "includeCompletedStatus",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "false",
"description": "hide projects where the logged-in user is just an observer",
"in": "query",
"name": "hideObservedProjects",
"type": "boolean"
},
{
"description": "includes filters when project ids are provided",
"in": "query",
"name": "alwaysIncludeFiltering",
"type": "boolean"
},
{
"description": "only show projects that have an explicit common membership with provided user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "usersWithExplicitMembershipIds",
"type": "array"
},
{
"description": "filter by projects that contain users associated with the team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "select the columns to use in exports.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"projectOwners",
"projectUpdates",
"companies",
"companies.countries",
"companies.industries",
"projectCategories",
"portfolioCards",
"portfolioBoards",
"portfolioColumns",
"tags",
"customfields",
"customfieldProjects",
"projectBudgets",
"activities.latest",
"users",
"createdBy",
"updatedBy",
"completedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"statusId"
],
"type": "string"
},
"name": "fields[workflows]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"stage"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioColumns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"columnId",
"projectId"
],
"type": "string"
},
"name": "fields[portfolioCards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioBoards]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldProjects]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "featuresEnabled",
"type": "array"
},
{
"description": "exclude by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude certain project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
}
],
"produces": [
"application/json",
"text/html"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate project report in HTML format",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/reporting/precanned/health/projects.pdf": {
"get": {
"description": "Generates a project report in PDF format containing all projects for the\nprovided filters. Only the projects that the logged-in user can access will\nbe returned.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_reporting_precanned_health_projects.pdf",
"parameters": [
{
"description": "updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "profitability time mode",
"enum": [
"timelogs",
"estimated"
],
"in": "query",
"name": "timeMode",
"type": "string"
},
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "project",
"description": "define the type of the report",
"enum": [
"project",
"health"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "Optional to configure the report dates displayed in a timezone",
"in": "query",
"name": "reportTimezone",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"csv",
"html",
"pdf",
"xls"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"companyname",
"datecreated",
"duedate",
"lastactivity",
"name",
"namecaseinsensitive",
"ownercompany",
"starred",
"categoryname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter by min last activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by max last activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "filter by minimum budget capacity used",
"in": "query",
"name": "minBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "filter by maximum budget capacity used",
"in": "query",
"name": "maxBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include companies in the search",
"in": "query",
"name": "searchCompanies",
"type": "boolean"
},
{
"description": "search projects beginning with the search term character only when it contains a single character.",
"in": "query",
"name": "searchByLetter",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only show projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"default": "false",
"description": "can log time on projects",
"in": "query",
"name": "onlyProjectsThatCanLogTime",
"type": "boolean"
},
{
"default": "false",
"description": "return only archived projects",
"in": "query",
"name": "onlyArchivedProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all excluded project tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include alongside normal projects, tentative ones",
"in": "query",
"name": "includeTentativeProjects",
"type": "boolean"
},
{
"description": "include sub categories when filtering by ids",
"in": "query",
"name": "includeSubCategories",
"type": "boolean"
},
{
"description": "include project status counts for tasks columns billing events milestones",
"in": "query",
"name": "includeStats",
"type": "boolean"
},
{
"default": "false",
"description": "fetch user-specific data such as isStarred",
"in": "query",
"name": "includeProjectUserInfo",
"type": "boolean"
},
{
"description": "include project profitability in response",
"in": "query",
"name": "includeProjectProfitability",
"type": "boolean"
},
{
"description": "include minimum and maximum start/end dates for projects",
"in": "query",
"name": "includeProjectDates",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include project related counts",
"in": "query",
"name": "includeCounts",
"type": "boolean"
},
{
"description": "optional to include completed projects when filtering by project statuses \"current,late\".",
"in": "query",
"name": "includeCompletedStatus",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "false",
"description": "hide projects where the logged-in user is just an observer",
"in": "query",
"name": "hideObservedProjects",
"type": "boolean"
},
{
"description": "includes filters when project ids are provided",
"in": "query",
"name": "alwaysIncludeFiltering",
"type": "boolean"
},
{
"description": "only show projects that have an explicit common membership with provided user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "usersWithExplicitMembershipIds",
"type": "array"
},
{
"description": "filter by projects that contain users associated with the team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "select the columns to use in exports.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"projectOwners",
"projectUpdates",
"companies",
"companies.countries",
"companies.industries",
"projectCategories",
"portfolioCards",
"portfolioBoards",
"portfolioColumns",
"tags",
"customfields",
"customfieldProjects",
"projectBudgets",
"activities.latest",
"users",
"createdBy",
"updatedBy",
"completedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"statusId"
],
"type": "string"
},
"name": "fields[workflows]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"stage"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioColumns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"columnId",
"projectId"
],
"type": "string"
},
"name": "fields[portfolioCards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioBoards]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldProjects]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "featuresEnabled",
"type": "array"
},
{
"description": "exclude by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude certain project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
}
],
"produces": [
"application/json",
"application/pdf"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate project report in PDF format",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/reporting/precanned/health/projects.xlsx": {
"get": {
"description": "Generates a project report in XLSX format containing all projects for the\nprovided filters. Only the projects that the logged-in user can access will\nbe returned.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_reporting_precanned_health_projects.xlsx",
"parameters": [
{
"description": "updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "profitability time mode",
"enum": [
"timelogs",
"estimated"
],
"in": "query",
"name": "timeMode",
"type": "string"
},
{
"description": "filter by project name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "project",
"description": "define the type of the report",
"enum": [
"project",
"health"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "Optional to configure the report dates displayed in a timezone",
"in": "query",
"name": "reportTimezone",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"csv",
"html",
"pdf",
"xls"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"companyname",
"datecreated",
"duedate",
"lastactivity",
"name",
"namecaseinsensitive",
"ownercompany",
"starred",
"categoryname"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter by min last activity date",
"format": "date",
"in": "query",
"name": "minLastActivityDate",
"type": "string"
},
{
"description": "filter by max last activity date",
"format": "date",
"in": "query",
"name": "maxLastActivityDate",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "filter by minimum budget capacity used",
"in": "query",
"name": "minBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "filter by maximum budget capacity used",
"in": "query",
"name": "maxBudgetCapacityUsedPercent",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include companies in the search",
"in": "query",
"name": "searchCompanies",
"type": "boolean"
},
{
"description": "search projects beginning with the search term character only when it contains a single character.",
"in": "query",
"name": "searchByLetter",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "only show projects with explicit membership",
"in": "query",
"name": "onlyProjectsWithExplicitMembership",
"type": "boolean"
},
{
"default": "false",
"description": "can log time on projects",
"in": "query",
"name": "onlyProjectsThatCanLogTime",
"type": "boolean"
},
{
"default": "false",
"description": "return only archived projects",
"in": "query",
"name": "onlyArchivedProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all excluded project tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include alongside normal projects, tentative ones",
"in": "query",
"name": "includeTentativeProjects",
"type": "boolean"
},
{
"description": "include sub categories when filtering by ids",
"in": "query",
"name": "includeSubCategories",
"type": "boolean"
},
{
"description": "include project status counts for tasks columns billing events milestones",
"in": "query",
"name": "includeStats",
"type": "boolean"
},
{
"default": "false",
"description": "fetch user-specific data such as isStarred",
"in": "query",
"name": "includeProjectUserInfo",
"type": "boolean"
},
{
"description": "include project profitability in response",
"in": "query",
"name": "includeProjectProfitability",
"type": "boolean"
},
{
"description": "include minimum and maximum start/end dates for projects",
"in": "query",
"name": "includeProjectDates",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include project related counts",
"in": "query",
"name": "includeCounts",
"type": "boolean"
},
{
"description": "optional to include completed projects when filtering by project statuses \"current,late\".",
"in": "query",
"name": "includeCompletedStatus",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "false",
"description": "hide projects where the logged-in user is just an observer",
"in": "query",
"name": "hideObservedProjects",
"type": "boolean"
},
{
"description": "includes filters when project ids are provided",
"in": "query",
"name": "alwaysIncludeFiltering",
"type": "boolean"
},
{
"description": "only show projects that have an explicit common membership with provided user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "usersWithExplicitMembershipIds",
"type": "array"
},
{
"description": "filter by projects that contain users associated with the team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "select the columns to use in exports.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"projectOwners",
"projectUpdates",
"companies",
"companies.countries",
"companies.industries",
"projectCategories",
"portfolioCards",
"portfolioBoards",
"portfolioColumns",
"tags",
"customfields",
"customfieldProjects",
"projectBudgets",
"activities.latest",
"users",
"createdBy",
"updatedBy",
"completedBy",
"deletedBy"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"statusId"
],
"type": "string"
},
"name": "fields[workflows]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"stage"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"text",
"isActive",
"health",
"color",
"dateCreated",
"deleted",
"deletedDate",
"numLikes",
"reactions"
],
"type": "string"
},
"name": "fields[projectUpdates]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"type",
"status",
"capacityUsed",
"capacity",
"originatorBudgetId",
"isRepeating",
"repeatPeriod",
"repeatUnit",
"repeatsRemaining",
"sequenceNumber",
"startDateTime",
"endDateTime",
"currencyCode",
"timelogType",
"expenseType",
"defaultRate",
"notificationIds",
"createdByUserId",
"dateCreated",
"updatedUserId",
"dateUpdated",
"completedByUserId",
"dateCompleted",
"deletedByUserId",
"dateDeleted"
],
"type": "string"
},
"name": "fields[projectBudgets]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioColumns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"columnId",
"projectId"
],
"type": "string"
},
"name": "fields[portfolioCards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color"
],
"type": "string"
},
"name": "fields[portfolioBoards]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[industries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldProjects]",
"type": "array"
},
{
"in": "query",
"items": {
"type": "string"
},
"name": "fields[countries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "featuresEnabled",
"type": "array"
},
{
"description": "exclude by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "exclude certain project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
}
],
"produces": [
"application/json",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate project report in XLSX format",
"tags": [
"Projects"
]
}
},
"/projects/api/v3/reporting/precanned/plannedvsactual/milestones.csv": {
"get": {
"description": "Generates a milestone report in CSV format containing all milestones for the\nprovided filters. Only the milestones that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_plannedvsactual_milestones.csv",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by milestone name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "agenda",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"calendar",
"agenda"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"dateonly",
"name",
"project",
"user",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by due before date (deprecated, use dueBefore)",
"format": "date",
"in": "query",
"name": "dueBeforeDate",
"type": "string"
},
{
"description": "filter by due before date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter by due after date (deprecated, use dueAfter)",
"format": "date",
"in": "query",
"name": "dueAfterDate",
"type": "string"
},
{
"description": "filter by due after date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "show private milestones",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "show attached tasklists",
"in": "query",
"name": "showAttachedTasklists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "progress",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "filter by projects that the logged-in user is related",
"in": "query",
"name": "onlyMyProjects",
"type": "boolean"
},
{
"description": "only include milestones from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "match all milestone tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include milestones latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"default": "true",
"description": "include today when milestone status is upcoming",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"default": "true",
"description": "include team users to the responsible party ids",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"default": "true",
"description": "include tags in the reports",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "includeProgress",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists",
"in": "query",
"name": "includePercentageComplete",
"type": "boolean"
},
{
"description": "optional to include completed milestones",
"in": "query",
"name": "includeCompleted",
"type": "boolean"
},
{
"default": "true",
"description": "include company users to the responsible party ids",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "convert emoji alias to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "false",
"description": "count unread comments",
"in": "query",
"name": "countUnreadComments",
"type": "boolean"
},
{
"default": "false",
"description": "enables the calendar style layout",
"in": "query",
"name": "calendar",
"type": "boolean"
},
{
"description": "filter by milestone tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of milestone status",
"in": "query",
"items": {
"enum": [
"all",
"new",
"reopened",
"completed",
"deleted",
"pending",
"incomplete",
"late",
"today",
"upcoming"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by list of project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"users",
"completedBy",
"createdBy",
"deletedBy",
"updatedBy",
"commentFollowers",
"changeFollowers",
"tags",
"tasklists",
"tasklisttaskstats"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followers' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followerIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by creators' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "creatorIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json",
"text/csv"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate milestone report in CSV format",
"tags": [
"Milestones"
]
}
},
"/projects/api/v3/reporting/precanned/plannedvsactual/milestones.html": {
"get": {
"description": "Generates a milestone report in HTML format containing all milestones for the\nprovided filters. Only the milestones that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_plannedvsactual_milestones.html",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by milestone name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "agenda",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"calendar",
"agenda"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"dateonly",
"name",
"project",
"user",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by due before date (deprecated, use dueBefore)",
"format": "date",
"in": "query",
"name": "dueBeforeDate",
"type": "string"
},
{
"description": "filter by due before date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter by due after date (deprecated, use dueAfter)",
"format": "date",
"in": "query",
"name": "dueAfterDate",
"type": "string"
},
{
"description": "filter by due after date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "show private milestones",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "show attached tasklists",
"in": "query",
"name": "showAttachedTasklists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "progress",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "filter by projects that the logged-in user is related",
"in": "query",
"name": "onlyMyProjects",
"type": "boolean"
},
{
"description": "only include milestones from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "match all milestone tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include milestones latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"default": "true",
"description": "include today when milestone status is upcoming",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"default": "true",
"description": "include team users to the responsible party ids",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"default": "true",
"description": "include tags in the reports",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "includeProgress",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists",
"in": "query",
"name": "includePercentageComplete",
"type": "boolean"
},
{
"description": "optional to include completed milestones",
"in": "query",
"name": "includeCompleted",
"type": "boolean"
},
{
"default": "true",
"description": "include company users to the responsible party ids",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "convert emoji alias to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "false",
"description": "count unread comments",
"in": "query",
"name": "countUnreadComments",
"type": "boolean"
},
{
"default": "false",
"description": "enables the calendar style layout",
"in": "query",
"name": "calendar",
"type": "boolean"
},
{
"description": "filter by milestone tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of milestone status",
"in": "query",
"items": {
"enum": [
"all",
"new",
"reopened",
"completed",
"deleted",
"pending",
"incomplete",
"late",
"today",
"upcoming"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by list of project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"users",
"completedBy",
"createdBy",
"deletedBy",
"updatedBy",
"commentFollowers",
"changeFollowers",
"tags",
"tasklists",
"tasklisttaskstats"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followers' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followerIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by creators' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "creatorIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json",
"text/html"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate milestone report in HTML format",
"tags": [
"Milestones"
]
}
},
"/projects/api/v3/reporting/precanned/plannedvsactual/milestones.pdf": {
"get": {
"description": "Generates a milestone report in PDF format containing all milestones for the\nprovided filters. Only the milestones that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_plannedvsactual_milestones.pdf",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by milestone name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "agenda",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"calendar",
"agenda"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"dateonly",
"name",
"project",
"user",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by due before date (deprecated, use dueBefore)",
"format": "date",
"in": "query",
"name": "dueBeforeDate",
"type": "string"
},
{
"description": "filter by due before date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter by due after date (deprecated, use dueAfter)",
"format": "date",
"in": "query",
"name": "dueAfterDate",
"type": "string"
},
{
"description": "filter by due after date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "show private milestones",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "show attached tasklists",
"in": "query",
"name": "showAttachedTasklists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "progress",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "filter by projects that the logged-in user is related",
"in": "query",
"name": "onlyMyProjects",
"type": "boolean"
},
{
"description": "only include milestones from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "match all milestone tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include milestones latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"default": "true",
"description": "include today when milestone status is upcoming",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"default": "true",
"description": "include team users to the responsible party ids",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"default": "true",
"description": "include tags in the reports",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "includeProgress",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists",
"in": "query",
"name": "includePercentageComplete",
"type": "boolean"
},
{
"description": "optional to include completed milestones",
"in": "query",
"name": "includeCompleted",
"type": "boolean"
},
{
"default": "true",
"description": "include company users to the responsible party ids",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "convert emoji alias to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "false",
"description": "count unread comments",
"in": "query",
"name": "countUnreadComments",
"type": "boolean"
},
{
"default": "false",
"description": "enables the calendar style layout",
"in": "query",
"name": "calendar",
"type": "boolean"
},
{
"description": "filter by milestone tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of milestone status",
"in": "query",
"items": {
"enum": [
"all",
"new",
"reopened",
"completed",
"deleted",
"pending",
"incomplete",
"late",
"today",
"upcoming"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by list of project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"users",
"completedBy",
"createdBy",
"deletedBy",
"updatedBy",
"commentFollowers",
"changeFollowers",
"tags",
"tasklists",
"tasklisttaskstats"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followers' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followerIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by creators' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "creatorIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json",
"application/pdf"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate milestone report in PDF format",
"tags": [
"Milestones"
]
}
},
"/projects/api/v3/reporting/precanned/plannedvsactual/milestones.xlsx": {
"get": {
"description": "Generates a milestone report in XLSX format containing all milestones for the\nprovided filters. Only the milestones that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_plannedvsactual_milestones.xlsx",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by milestone name and description",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "agenda",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"calendar",
"agenda"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "order by",
"enum": [
"date",
"dateonly",
"name",
"project",
"user",
"dateCreated",
"dateUpdated"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by due before date (deprecated, use dueBefore)",
"format": "date",
"in": "query",
"name": "dueBeforeDate",
"type": "string"
},
{
"description": "filter by due before date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter by due after date (deprecated, use dueAfter)",
"format": "date",
"in": "query",
"name": "dueAfterDate",
"type": "string"
},
{
"description": "filter by due after date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "show private milestones",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "show attached tasklists",
"in": "query",
"name": "showAttachedTasklists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "progress",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "filter by projects that the logged-in user is related",
"in": "query",
"name": "onlyMyProjects",
"type": "boolean"
},
{
"description": "only include milestones from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "match all milestone tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include milestones latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"default": "true",
"description": "include today when milestone status is upcoming",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"default": "true",
"description": "include team users to the responsible party ids",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"default": "true",
"description": "include tags in the reports",
"in": "query",
"name": "includeTags",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists (deprecated, use includePercentageComplete)",
"in": "query",
"name": "includeProgress",
"type": "boolean"
},
{
"default": "false",
"description": "include percentage of tasks completed for all linked tasklists",
"in": "query",
"name": "includePercentageComplete",
"type": "boolean"
},
{
"description": "optional to include completed milestones",
"in": "query",
"name": "includeCompleted",
"type": "boolean"
},
{
"default": "true",
"description": "include company users to the responsible party ids",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "convert emoji alias to unicode",
"in": "query",
"name": "emoji",
"type": "boolean"
},
{
"default": "false",
"description": "count unread comments",
"in": "query",
"name": "countUnreadComments",
"type": "boolean"
},
{
"default": "false",
"description": "enables the calendar style layout",
"in": "query",
"name": "calendar",
"type": "boolean"
},
{
"description": "filter by milestone tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of milestone status",
"in": "query",
"items": {
"enum": [
"all",
"new",
"reopened",
"completed",
"deleted",
"pending",
"incomplete",
"late",
"today",
"upcoming"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by list of project health (deprecated, use projectHealths)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"users",
"completedBy",
"createdBy",
"deletedBy",
"updatedBy",
"commentFollowers",
"changeFollowers",
"tags",
"tasklists",
"tasklisttaskstats"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followers' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followerIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by creators' ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "creatorIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
}
],
"produces": [
"application/json",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate milestone report in XLSX format",
"tags": [
"Milestones"
]
}
},
"/projects/api/v3/reporting/precanned/plannedvsactual/tasks.csv": {
"get": {
"description": "Generates a plannedvsactual report in CSV format containing all tasks for the\nprovided filters. Only the tasks that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_plannedvsactual_tasks.csv",
"parameters": [
{
"description": "filter by updated before date",
"format": "date-time",
"in": "query",
"name": "updatedBefore",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by today",
"format": "date-time",
"in": "query",
"name": "today",
"type": "string"
},
{
"description": "filter by a taskFilter",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskFilter",
"type": "string"
},
{
"description": "filter on start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "task",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"task",
"tasktime"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"html",
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by task priority",
"in": "query",
"name": "priority",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "duedate",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedat",
"duestartdate",
"alldates",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname",
"createdby",
"completedby",
"assignedto",
"taskstatus",
"taskduedate",
"customfield",
"estimatedtime",
"boardcolumn",
"taskgroupid",
"taskgroupname",
"taskgroup",
"displayorder",
"projectmanual",
"stagedisplayorder",
"stage"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter on end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "filter before a due date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter after a due date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"description": "filter on deleted after date",
"format": "date-time",
"in": "query",
"name": "deletedAfter",
"type": "string"
},
{
"description": "filter by created filter",
"enum": [
"anytime",
"today",
"yesterday",
"custom"
],
"in": "query",
"name": "createdFilter",
"type": "string"
},
{
"description": "filter by created date code",
"in": "query",
"name": "createdDateCode",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by completed before date",
"format": "date-time",
"in": "query",
"name": "completedBefore",
"type": "string"
},
{
"description": "filter by completed after date",
"format": "date-time",
"in": "query",
"name": "completedAfter",
"type": "string"
},
{
"description": "filter by updated user id",
"in": "query",
"name": "updatedByUserId",
"type": "integer"
},
{
"description": "filter by parent task ids",
"in": "query",
"name": "parentTaskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "include task id",
"in": "query",
"name": "includeTaskId",
"type": "integer"
},
{
"description": "provide a user saved filter ID",
"in": "query",
"name": "filterId",
"type": "integer"
},
{
"description": "filter by completed user id",
"in": "query",
"name": "completedByUserId",
"type": "integer"
},
{
"default": "false",
"description": "use daterange logic from table when getting the tasks",
"in": "query",
"name": "useTaskDateRange",
"type": "boolean"
},
{
"description": "use start dates for todays tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "filter on all projects",
"in": "query",
"name": "useAllProjects",
"type": "boolean"
},
{
"default": "false",
"description": "sort active tasks first",
"in": "query",
"name": "sortActiveFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include tasks from completed lists",
"in": "query",
"name": "showCompletedLists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"description": "only untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "only return tasks that are unplanned. Not assigned, no due date or\nmissing estimated time.",
"in": "query",
"name": "onlyUnplanned",
"type": "boolean"
},
{
"description": "filter by only tasks with unread comments",
"in": "query",
"name": "onlyTasksWithUnreadComments",
"type": "boolean"
},
{
"description": "filter by only tasks with tickets",
"in": "query",
"name": "onlyTasksWithTickets",
"type": "boolean"
},
{
"description": "only return tasks with estimated time",
"in": "query",
"name": "onlyTasksWithEstimatedTime",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only include tasks from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "nest sub tasks",
"in": "query",
"name": "nestSubTasks",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include tasks latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"description": "include untagged tasks",
"in": "query",
"name": "includeUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by include tomorrow",
"in": "query",
"name": "includeTomorrow",
"type": "boolean"
},
{
"description": "filter by include today",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"description": "include members of the given teams",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without due dates",
"in": "query",
"name": "includeTasksWithoutDueDates",
"type": "boolean"
},
{
"default": "true",
"description": "include tasks with cards",
"in": "query",
"name": "includeTasksWithCards",
"type": "boolean"
},
{
"description": "include tasks from deleted lists",
"in": "query",
"name": "includeTasksFromDeletedLists",
"type": "boolean"
},
{
"default": "false",
"description": "include total count of tasks for given filter",
"in": "query",
"name": "includeTasksCount",
"type": "boolean"
},
{
"description": "include ids of active subtasks, dependencies, predecessors",
"in": "query",
"name": "includeRelatedTasks",
"type": "boolean"
},
{
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include overdue tasks",
"in": "query",
"name": "includeOverdueTasks",
"type": "boolean"
},
{
"description": "include original due date of a task",
"in": "query",
"name": "includeOriginalDueDate",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"description": "include ids of completed predecessors. It must be provided with\nincludeRelatedTasks flag or with the predecessors sideload.",
"in": "query",
"name": "includeCompletedPredecessors",
"type": "boolean"
},
{
"description": "include members of the given companies",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each task",
"in": "query",
"name": "includeCommentStats",
"type": "boolean"
},
{
"description": "filter by include blocked",
"in": "query",
"name": "includeBlocked",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each file attachment",
"in": "query",
"name": "includeAttachmentCommentStats",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "group by tasklist",
"in": "query",
"name": "groupByTasklist",
"type": "boolean"
},
{
"description": "group by taskgroup",
"in": "query",
"name": "groupByTaskgroup",
"type": "boolean"
},
{
"description": "get sub tasks",
"in": "query",
"name": "getSubTasks",
"type": "boolean"
},
{
"description": "get files",
"in": "query",
"name": "getFiles",
"type": "boolean"
},
{
"description": "set due date as milestone due date if due date is null and there's a related milestone",
"in": "query",
"name": "fallbackToMilestoneDueDate",
"type": "boolean"
},
{
"description": "For tasks created in a project template it's possible to assign a role instead of people, companies or teams.\nThis role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name\nand return it inside a special field.",
"in": "query",
"name": "extractTemplateRoleName",
"type": "boolean"
},
{
"description": "exclude assignee not on project teams",
"in": "query",
"name": "excludeAssigneeNotOnProjectTeams",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "check if task has reminders",
"in": "query",
"name": "checkForReminders",
"type": "boolean"
},
{
"default": "true",
"description": "when filtering by assigned or unassagned tasks, include assignees that\nare not in the project.",
"in": "query",
"name": "allowAssigneesOutsideProject",
"type": "boolean"
},
{
"description": "customise the report by selecting columns to be displayed for tasks report",
"in": "query",
"items": {
"type": "string"
},
"name": "tasksSelectedColumns",
"type": "array"
},
{
"description": "filter by tasklist ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tasklistIds",
"type": "array"
},
{
"description": "filter by taskgroup ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskgroupIds",
"type": "array"
},
{
"description": "filter by task included set",
"in": "query",
"items": {
"enum": [
"overdue",
"nodate",
"nostartdate",
"noduedate",
"nostartwithfutureduedate",
"taskListNames",
"projectNames"
],
"type": "string"
},
"name": "taskIncludedSet",
"type": "array"
},
{
"description": "filter by tag values",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of task status",
"in": "query",
"items": {
"enum": [
"upcoming",
"late",
"all"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "skip crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipCRMDealIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed for planned vs actual.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "projectFeaturesEnabled",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"tasklists",
"parentTasks",
"companies",
"teams",
"users",
"milestones",
"comments",
"comments.users",
"tags",
"cards",
"cards.columns",
"timeTotals",
"taskSequences",
"commentFollowers",
"changeFollowers",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users",
"attachments",
"attachments.users",
"subtaskStats",
"timers",
"predecessors",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followed by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followedByUserIds",
"type": "array"
},
{
"description": "filter by board column ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterBoardColumnIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"displayOrder",
"projectId",
"status"
],
"type": "string"
},
"name": "fields[taskgroups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"frequency",
"selectedWeekDays",
"endDate",
"monthlyRepeatType",
"duration",
"rrule"
],
"type": "string"
},
"name": "fields[taskSequences]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"late",
"today",
"tomorrow",
"later-this-week",
"next-week",
"later",
"no-due-date"
],
"type": "string"
},
"name": "fields[groups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"isPrivate",
"latestFileVersionNo",
"versionId",
"status",
"description",
"lockdownId",
"tagIds",
"changeFollowers",
"commentFollowers",
"originalName",
"displayName",
"isLocked",
"lockedByUserId",
"lockedDate",
"size",
"uploadedDate",
"uploadedByUserID",
"updatedAt",
"deletedAt",
"deletedBy",
"fileSource",
"projectId",
"numLikes",
"reactions",
"versions",
"downloadURL",
"previewURL",
"thumbURL",
"relatedItems",
"commentsCount",
"commentsCountRead",
"categoryId"
],
"type": "string"
},
"name": "fields[files]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldTasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"title"
],
"type": "string"
},
"name": "fields[comments]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"displayOrder",
"createdAt",
"updatedAt",
"settings",
"sort",
"sortOrder",
"deletedAt",
"project",
"hasTriggers",
"deleted",
"stats",
"defaultTasklist"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"displayOrder",
"archived",
"archivedAt",
"archivedBy",
"createdAt",
"createBy",
"updatedAt",
"visible",
"status",
"deleteBy",
"deletedAt"
],
"type": "string"
},
"name": "fields[cards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "the ids of the expanded tasks",
"in": "query",
"items": {
"type": "integer"
},
"name": "expandedIds",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "crmDealIds",
"type": "array"
},
{
"description": "filter by creator user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "createdByUserIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json",
"text/csv"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate plannedvsactual report in CSV format",
"tags": [
"Tasks"
]
}
},
"/projects/api/v3/reporting/precanned/plannedvsactual/tasks.html": {
"get": {
"description": "Generates a plannedvsactual report in HTML format containing all tasks for the\nprovided filters. Only the tasks that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_plannedvsactual_tasks.html",
"parameters": [
{
"description": "filter by updated before date",
"format": "date-time",
"in": "query",
"name": "updatedBefore",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by today",
"format": "date-time",
"in": "query",
"name": "today",
"type": "string"
},
{
"description": "filter by a taskFilter",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskFilter",
"type": "string"
},
{
"description": "filter on start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "task",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"task",
"tasktime"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"html",
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by task priority",
"in": "query",
"name": "priority",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "duedate",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedat",
"duestartdate",
"alldates",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname",
"createdby",
"completedby",
"assignedto",
"taskstatus",
"taskduedate",
"customfield",
"estimatedtime",
"boardcolumn",
"taskgroupid",
"taskgroupname",
"taskgroup",
"displayorder",
"projectmanual",
"stagedisplayorder",
"stage"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter on end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "filter before a due date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter after a due date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"description": "filter on deleted after date",
"format": "date-time",
"in": "query",
"name": "deletedAfter",
"type": "string"
},
{
"description": "filter by created filter",
"enum": [
"anytime",
"today",
"yesterday",
"custom"
],
"in": "query",
"name": "createdFilter",
"type": "string"
},
{
"description": "filter by created date code",
"in": "query",
"name": "createdDateCode",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by completed before date",
"format": "date-time",
"in": "query",
"name": "completedBefore",
"type": "string"
},
{
"description": "filter by completed after date",
"format": "date-time",
"in": "query",
"name": "completedAfter",
"type": "string"
},
{
"description": "filter by updated user id",
"in": "query",
"name": "updatedByUserId",
"type": "integer"
},
{
"description": "filter by parent task ids",
"in": "query",
"name": "parentTaskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "include task id",
"in": "query",
"name": "includeTaskId",
"type": "integer"
},
{
"description": "provide a user saved filter ID",
"in": "query",
"name": "filterId",
"type": "integer"
},
{
"description": "filter by completed user id",
"in": "query",
"name": "completedByUserId",
"type": "integer"
},
{
"default": "false",
"description": "use daterange logic from table when getting the tasks",
"in": "query",
"name": "useTaskDateRange",
"type": "boolean"
},
{
"description": "use start dates for todays tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "filter on all projects",
"in": "query",
"name": "useAllProjects",
"type": "boolean"
},
{
"default": "false",
"description": "sort active tasks first",
"in": "query",
"name": "sortActiveFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include tasks from completed lists",
"in": "query",
"name": "showCompletedLists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"description": "only untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "only return tasks that are unplanned. Not assigned, no due date or\nmissing estimated time.",
"in": "query",
"name": "onlyUnplanned",
"type": "boolean"
},
{
"description": "filter by only tasks with unread comments",
"in": "query",
"name": "onlyTasksWithUnreadComments",
"type": "boolean"
},
{
"description": "filter by only tasks with tickets",
"in": "query",
"name": "onlyTasksWithTickets",
"type": "boolean"
},
{
"description": "only return tasks with estimated time",
"in": "query",
"name": "onlyTasksWithEstimatedTime",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only include tasks from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "nest sub tasks",
"in": "query",
"name": "nestSubTasks",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include tasks latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"description": "include untagged tasks",
"in": "query",
"name": "includeUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by include tomorrow",
"in": "query",
"name": "includeTomorrow",
"type": "boolean"
},
{
"description": "filter by include today",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"description": "include members of the given teams",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without due dates",
"in": "query",
"name": "includeTasksWithoutDueDates",
"type": "boolean"
},
{
"default": "true",
"description": "include tasks with cards",
"in": "query",
"name": "includeTasksWithCards",
"type": "boolean"
},
{
"description": "include tasks from deleted lists",
"in": "query",
"name": "includeTasksFromDeletedLists",
"type": "boolean"
},
{
"default": "false",
"description": "include total count of tasks for given filter",
"in": "query",
"name": "includeTasksCount",
"type": "boolean"
},
{
"description": "include ids of active subtasks, dependencies, predecessors",
"in": "query",
"name": "includeRelatedTasks",
"type": "boolean"
},
{
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include overdue tasks",
"in": "query",
"name": "includeOverdueTasks",
"type": "boolean"
},
{
"description": "include original due date of a task",
"in": "query",
"name": "includeOriginalDueDate",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"description": "include ids of completed predecessors. It must be provided with\nincludeRelatedTasks flag or with the predecessors sideload.",
"in": "query",
"name": "includeCompletedPredecessors",
"type": "boolean"
},
{
"description": "include members of the given companies",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each task",
"in": "query",
"name": "includeCommentStats",
"type": "boolean"
},
{
"description": "filter by include blocked",
"in": "query",
"name": "includeBlocked",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each file attachment",
"in": "query",
"name": "includeAttachmentCommentStats",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "group by tasklist",
"in": "query",
"name": "groupByTasklist",
"type": "boolean"
},
{
"description": "group by taskgroup",
"in": "query",
"name": "groupByTaskgroup",
"type": "boolean"
},
{
"description": "get sub tasks",
"in": "query",
"name": "getSubTasks",
"type": "boolean"
},
{
"description": "get files",
"in": "query",
"name": "getFiles",
"type": "boolean"
},
{
"description": "set due date as milestone due date if due date is null and there's a related milestone",
"in": "query",
"name": "fallbackToMilestoneDueDate",
"type": "boolean"
},
{
"description": "For tasks created in a project template it's possible to assign a role instead of people, companies or teams.\nThis role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name\nand return it inside a special field.",
"in": "query",
"name": "extractTemplateRoleName",
"type": "boolean"
},
{
"description": "exclude assignee not on project teams",
"in": "query",
"name": "excludeAssigneeNotOnProjectTeams",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "check if task has reminders",
"in": "query",
"name": "checkForReminders",
"type": "boolean"
},
{
"default": "true",
"description": "when filtering by assigned or unassagned tasks, include assignees that\nare not in the project.",
"in": "query",
"name": "allowAssigneesOutsideProject",
"type": "boolean"
},
{
"description": "customise the report by selecting columns to be displayed for tasks report",
"in": "query",
"items": {
"type": "string"
},
"name": "tasksSelectedColumns",
"type": "array"
},
{
"description": "filter by tasklist ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tasklistIds",
"type": "array"
},
{
"description": "filter by taskgroup ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskgroupIds",
"type": "array"
},
{
"description": "filter by task included set",
"in": "query",
"items": {
"enum": [
"overdue",
"nodate",
"nostartdate",
"noduedate",
"nostartwithfutureduedate",
"taskListNames",
"projectNames"
],
"type": "string"
},
"name": "taskIncludedSet",
"type": "array"
},
{
"description": "filter by tag values",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of task status",
"in": "query",
"items": {
"enum": [
"upcoming",
"late",
"all"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "skip crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipCRMDealIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed for planned vs actual.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "projectFeaturesEnabled",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"tasklists",
"parentTasks",
"companies",
"teams",
"users",
"milestones",
"comments",
"comments.users",
"tags",
"cards",
"cards.columns",
"timeTotals",
"taskSequences",
"commentFollowers",
"changeFollowers",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users",
"attachments",
"attachments.users",
"subtaskStats",
"timers",
"predecessors",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followed by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followedByUserIds",
"type": "array"
},
{
"description": "filter by board column ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterBoardColumnIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"displayOrder",
"projectId",
"status"
],
"type": "string"
},
"name": "fields[taskgroups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"frequency",
"selectedWeekDays",
"endDate",
"monthlyRepeatType",
"duration",
"rrule"
],
"type": "string"
},
"name": "fields[taskSequences]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"late",
"today",
"tomorrow",
"later-this-week",
"next-week",
"later",
"no-due-date"
],
"type": "string"
},
"name": "fields[groups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"isPrivate",
"latestFileVersionNo",
"versionId",
"status",
"description",
"lockdownId",
"tagIds",
"changeFollowers",
"commentFollowers",
"originalName",
"displayName",
"isLocked",
"lockedByUserId",
"lockedDate",
"size",
"uploadedDate",
"uploadedByUserID",
"updatedAt",
"deletedAt",
"deletedBy",
"fileSource",
"projectId",
"numLikes",
"reactions",
"versions",
"downloadURL",
"previewURL",
"thumbURL",
"relatedItems",
"commentsCount",
"commentsCountRead",
"categoryId"
],
"type": "string"
},
"name": "fields[files]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldTasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"title"
],
"type": "string"
},
"name": "fields[comments]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"displayOrder",
"createdAt",
"updatedAt",
"settings",
"sort",
"sortOrder",
"deletedAt",
"project",
"hasTriggers",
"deleted",
"stats",
"defaultTasklist"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"displayOrder",
"archived",
"archivedAt",
"archivedBy",
"createdAt",
"createBy",
"updatedAt",
"visible",
"status",
"deleteBy",
"deletedAt"
],
"type": "string"
},
"name": "fields[cards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "the ids of the expanded tasks",
"in": "query",
"items": {
"type": "integer"
},
"name": "expandedIds",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "crmDealIds",
"type": "array"
},
{
"description": "filter by creator user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "createdByUserIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json",
"text/html"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate plannedvsactual report in HTML format",
"tags": [
"Tasks"
]
}
},
"/projects/api/v3/reporting/precanned/plannedvsactual/tasks.pdf": {
"get": {
"description": "Generates a plannedvsactual report in PDF format containing all tasks for the\nprovided filters. Only the tasks that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_plannedvsactual_tasks.pdf",
"parameters": [
{
"description": "filter by updated before date",
"format": "date-time",
"in": "query",
"name": "updatedBefore",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by today",
"format": "date-time",
"in": "query",
"name": "today",
"type": "string"
},
{
"description": "filter by a taskFilter",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskFilter",
"type": "string"
},
{
"description": "filter on start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "task",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"task",
"tasktime"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"html",
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by task priority",
"in": "query",
"name": "priority",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "duedate",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedat",
"duestartdate",
"alldates",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname",
"createdby",
"completedby",
"assignedto",
"taskstatus",
"taskduedate",
"customfield",
"estimatedtime",
"boardcolumn",
"taskgroupid",
"taskgroupname",
"taskgroup",
"displayorder",
"projectmanual",
"stagedisplayorder",
"stage"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter on end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "filter before a due date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter after a due date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"description": "filter on deleted after date",
"format": "date-time",
"in": "query",
"name": "deletedAfter",
"type": "string"
},
{
"description": "filter by created filter",
"enum": [
"anytime",
"today",
"yesterday",
"custom"
],
"in": "query",
"name": "createdFilter",
"type": "string"
},
{
"description": "filter by created date code",
"in": "query",
"name": "createdDateCode",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by completed before date",
"format": "date-time",
"in": "query",
"name": "completedBefore",
"type": "string"
},
{
"description": "filter by completed after date",
"format": "date-time",
"in": "query",
"name": "completedAfter",
"type": "string"
},
{
"description": "filter by updated user id",
"in": "query",
"name": "updatedByUserId",
"type": "integer"
},
{
"description": "filter by parent task ids",
"in": "query",
"name": "parentTaskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "include task id",
"in": "query",
"name": "includeTaskId",
"type": "integer"
},
{
"description": "provide a user saved filter ID",
"in": "query",
"name": "filterId",
"type": "integer"
},
{
"description": "filter by completed user id",
"in": "query",
"name": "completedByUserId",
"type": "integer"
},
{
"default": "false",
"description": "use daterange logic from table when getting the tasks",
"in": "query",
"name": "useTaskDateRange",
"type": "boolean"
},
{
"description": "use start dates for todays tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "filter on all projects",
"in": "query",
"name": "useAllProjects",
"type": "boolean"
},
{
"default": "false",
"description": "sort active tasks first",
"in": "query",
"name": "sortActiveFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include tasks from completed lists",
"in": "query",
"name": "showCompletedLists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"description": "only untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "only return tasks that are unplanned. Not assigned, no due date or\nmissing estimated time.",
"in": "query",
"name": "onlyUnplanned",
"type": "boolean"
},
{
"description": "filter by only tasks with unread comments",
"in": "query",
"name": "onlyTasksWithUnreadComments",
"type": "boolean"
},
{
"description": "filter by only tasks with tickets",
"in": "query",
"name": "onlyTasksWithTickets",
"type": "boolean"
},
{
"description": "only return tasks with estimated time",
"in": "query",
"name": "onlyTasksWithEstimatedTime",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only include tasks from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "nest sub tasks",
"in": "query",
"name": "nestSubTasks",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include tasks latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"description": "include untagged tasks",
"in": "query",
"name": "includeUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by include tomorrow",
"in": "query",
"name": "includeTomorrow",
"type": "boolean"
},
{
"description": "filter by include today",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"description": "include members of the given teams",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without due dates",
"in": "query",
"name": "includeTasksWithoutDueDates",
"type": "boolean"
},
{
"default": "true",
"description": "include tasks with cards",
"in": "query",
"name": "includeTasksWithCards",
"type": "boolean"
},
{
"description": "include tasks from deleted lists",
"in": "query",
"name": "includeTasksFromDeletedLists",
"type": "boolean"
},
{
"default": "false",
"description": "include total count of tasks for given filter",
"in": "query",
"name": "includeTasksCount",
"type": "boolean"
},
{
"description": "include ids of active subtasks, dependencies, predecessors",
"in": "query",
"name": "includeRelatedTasks",
"type": "boolean"
},
{
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include overdue tasks",
"in": "query",
"name": "includeOverdueTasks",
"type": "boolean"
},
{
"description": "include original due date of a task",
"in": "query",
"name": "includeOriginalDueDate",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"description": "include ids of completed predecessors. It must be provided with\nincludeRelatedTasks flag or with the predecessors sideload.",
"in": "query",
"name": "includeCompletedPredecessors",
"type": "boolean"
},
{
"description": "include members of the given companies",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each task",
"in": "query",
"name": "includeCommentStats",
"type": "boolean"
},
{
"description": "filter by include blocked",
"in": "query",
"name": "includeBlocked",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each file attachment",
"in": "query",
"name": "includeAttachmentCommentStats",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "group by tasklist",
"in": "query",
"name": "groupByTasklist",
"type": "boolean"
},
{
"description": "group by taskgroup",
"in": "query",
"name": "groupByTaskgroup",
"type": "boolean"
},
{
"description": "get sub tasks",
"in": "query",
"name": "getSubTasks",
"type": "boolean"
},
{
"description": "get files",
"in": "query",
"name": "getFiles",
"type": "boolean"
},
{
"description": "set due date as milestone due date if due date is null and there's a related milestone",
"in": "query",
"name": "fallbackToMilestoneDueDate",
"type": "boolean"
},
{
"description": "For tasks created in a project template it's possible to assign a role instead of people, companies or teams.\nThis role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name\nand return it inside a special field.",
"in": "query",
"name": "extractTemplateRoleName",
"type": "boolean"
},
{
"description": "exclude assignee not on project teams",
"in": "query",
"name": "excludeAssigneeNotOnProjectTeams",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "check if task has reminders",
"in": "query",
"name": "checkForReminders",
"type": "boolean"
},
{
"default": "true",
"description": "when filtering by assigned or unassagned tasks, include assignees that\nare not in the project.",
"in": "query",
"name": "allowAssigneesOutsideProject",
"type": "boolean"
},
{
"description": "customise the report by selecting columns to be displayed for tasks report",
"in": "query",
"items": {
"type": "string"
},
"name": "tasksSelectedColumns",
"type": "array"
},
{
"description": "filter by tasklist ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tasklistIds",
"type": "array"
},
{
"description": "filter by taskgroup ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskgroupIds",
"type": "array"
},
{
"description": "filter by task included set",
"in": "query",
"items": {
"enum": [
"overdue",
"nodate",
"nostartdate",
"noduedate",
"nostartwithfutureduedate",
"taskListNames",
"projectNames"
],
"type": "string"
},
"name": "taskIncludedSet",
"type": "array"
},
{
"description": "filter by tag values",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of task status",
"in": "query",
"items": {
"enum": [
"upcoming",
"late",
"all"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "skip crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipCRMDealIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed for planned vs actual.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "projectFeaturesEnabled",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"tasklists",
"parentTasks",
"companies",
"teams",
"users",
"milestones",
"comments",
"comments.users",
"tags",
"cards",
"cards.columns",
"timeTotals",
"taskSequences",
"commentFollowers",
"changeFollowers",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users",
"attachments",
"attachments.users",
"subtaskStats",
"timers",
"predecessors",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followed by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followedByUserIds",
"type": "array"
},
{
"description": "filter by board column ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterBoardColumnIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"displayOrder",
"projectId",
"status"
],
"type": "string"
},
"name": "fields[taskgroups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"frequency",
"selectedWeekDays",
"endDate",
"monthlyRepeatType",
"duration",
"rrule"
],
"type": "string"
},
"name": "fields[taskSequences]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"late",
"today",
"tomorrow",
"later-this-week",
"next-week",
"later",
"no-due-date"
],
"type": "string"
},
"name": "fields[groups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"isPrivate",
"latestFileVersionNo",
"versionId",
"status",
"description",
"lockdownId",
"tagIds",
"changeFollowers",
"commentFollowers",
"originalName",
"displayName",
"isLocked",
"lockedByUserId",
"lockedDate",
"size",
"uploadedDate",
"uploadedByUserID",
"updatedAt",
"deletedAt",
"deletedBy",
"fileSource",
"projectId",
"numLikes",
"reactions",
"versions",
"downloadURL",
"previewURL",
"thumbURL",
"relatedItems",
"commentsCount",
"commentsCountRead",
"categoryId"
],
"type": "string"
},
"name": "fields[files]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldTasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"title"
],
"type": "string"
},
"name": "fields[comments]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"displayOrder",
"createdAt",
"updatedAt",
"settings",
"sort",
"sortOrder",
"deletedAt",
"project",
"hasTriggers",
"deleted",
"stats",
"defaultTasklist"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"displayOrder",
"archived",
"archivedAt",
"archivedBy",
"createdAt",
"createBy",
"updatedAt",
"visible",
"status",
"deleteBy",
"deletedAt"
],
"type": "string"
},
"name": "fields[cards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "the ids of the expanded tasks",
"in": "query",
"items": {
"type": "integer"
},
"name": "expandedIds",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "crmDealIds",
"type": "array"
},
{
"description": "filter by creator user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "createdByUserIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json",
"application/pdf"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate plannedvsactual report in PDF format",
"tags": [
"Tasks"
]
}
},
"/projects/api/v3/reporting/precanned/plannedvsactual/tasks.xlsx": {
"get": {
"description": "Generates a plannedvsactual report in XLSX format containing all tasks for the\nprovided filters. Only the tasks that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_plannedvsactual_tasks.xlsx",
"parameters": [
{
"description": "filter by updated before date",
"format": "date-time",
"in": "query",
"name": "updatedBefore",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by today",
"format": "date-time",
"in": "query",
"name": "today",
"type": "string"
},
{
"description": "filter by a taskFilter",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskFilter",
"type": "string"
},
{
"description": "filter on start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "task",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"task",
"tasktime"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"html",
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by task priority",
"in": "query",
"name": "priority",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "duedate",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedat",
"duestartdate",
"alldates",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname",
"createdby",
"completedby",
"assignedto",
"taskstatus",
"taskduedate",
"customfield",
"estimatedtime",
"boardcolumn",
"taskgroupid",
"taskgroupname",
"taskgroup",
"displayorder",
"projectmanual",
"stagedisplayorder",
"stage"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter on end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "filter before a due date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter after a due date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"description": "filter on deleted after date",
"format": "date-time",
"in": "query",
"name": "deletedAfter",
"type": "string"
},
{
"description": "filter by created filter",
"enum": [
"anytime",
"today",
"yesterday",
"custom"
],
"in": "query",
"name": "createdFilter",
"type": "string"
},
{
"description": "filter by created date code",
"in": "query",
"name": "createdDateCode",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by completed before date",
"format": "date-time",
"in": "query",
"name": "completedBefore",
"type": "string"
},
{
"description": "filter by completed after date",
"format": "date-time",
"in": "query",
"name": "completedAfter",
"type": "string"
},
{
"description": "filter by updated user id",
"in": "query",
"name": "updatedByUserId",
"type": "integer"
},
{
"description": "filter by parent task ids",
"in": "query",
"name": "parentTaskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "include task id",
"in": "query",
"name": "includeTaskId",
"type": "integer"
},
{
"description": "provide a user saved filter ID",
"in": "query",
"name": "filterId",
"type": "integer"
},
{
"description": "filter by completed user id",
"in": "query",
"name": "completedByUserId",
"type": "integer"
},
{
"default": "false",
"description": "use daterange logic from table when getting the tasks",
"in": "query",
"name": "useTaskDateRange",
"type": "boolean"
},
{
"description": "use start dates for todays tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "filter on all projects",
"in": "query",
"name": "useAllProjects",
"type": "boolean"
},
{
"default": "false",
"description": "sort active tasks first",
"in": "query",
"name": "sortActiveFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include tasks from completed lists",
"in": "query",
"name": "showCompletedLists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"description": "only untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "only return tasks that are unplanned. Not assigned, no due date or\nmissing estimated time.",
"in": "query",
"name": "onlyUnplanned",
"type": "boolean"
},
{
"description": "filter by only tasks with unread comments",
"in": "query",
"name": "onlyTasksWithUnreadComments",
"type": "boolean"
},
{
"description": "filter by only tasks with tickets",
"in": "query",
"name": "onlyTasksWithTickets",
"type": "boolean"
},
{
"description": "only return tasks with estimated time",
"in": "query",
"name": "onlyTasksWithEstimatedTime",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only include tasks from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "nest sub tasks",
"in": "query",
"name": "nestSubTasks",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include tasks latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"description": "include untagged tasks",
"in": "query",
"name": "includeUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by include tomorrow",
"in": "query",
"name": "includeTomorrow",
"type": "boolean"
},
{
"description": "filter by include today",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"description": "include members of the given teams",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without due dates",
"in": "query",
"name": "includeTasksWithoutDueDates",
"type": "boolean"
},
{
"default": "true",
"description": "include tasks with cards",
"in": "query",
"name": "includeTasksWithCards",
"type": "boolean"
},
{
"description": "include tasks from deleted lists",
"in": "query",
"name": "includeTasksFromDeletedLists",
"type": "boolean"
},
{
"default": "false",
"description": "include total count of tasks for given filter",
"in": "query",
"name": "includeTasksCount",
"type": "boolean"
},
{
"description": "include ids of active subtasks, dependencies, predecessors",
"in": "query",
"name": "includeRelatedTasks",
"type": "boolean"
},
{
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include overdue tasks",
"in": "query",
"name": "includeOverdueTasks",
"type": "boolean"
},
{
"description": "include original due date of a task",
"in": "query",
"name": "includeOriginalDueDate",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"description": "include ids of completed predecessors. It must be provided with\nincludeRelatedTasks flag or with the predecessors sideload.",
"in": "query",
"name": "includeCompletedPredecessors",
"type": "boolean"
},
{
"description": "include members of the given companies",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each task",
"in": "query",
"name": "includeCommentStats",
"type": "boolean"
},
{
"description": "filter by include blocked",
"in": "query",
"name": "includeBlocked",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each file attachment",
"in": "query",
"name": "includeAttachmentCommentStats",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "group by tasklist",
"in": "query",
"name": "groupByTasklist",
"type": "boolean"
},
{
"description": "group by taskgroup",
"in": "query",
"name": "groupByTaskgroup",
"type": "boolean"
},
{
"description": "get sub tasks",
"in": "query",
"name": "getSubTasks",
"type": "boolean"
},
{
"description": "get files",
"in": "query",
"name": "getFiles",
"type": "boolean"
},
{
"description": "set due date as milestone due date if due date is null and there's a related milestone",
"in": "query",
"name": "fallbackToMilestoneDueDate",
"type": "boolean"
},
{
"description": "For tasks created in a project template it's possible to assign a role instead of people, companies or teams.\nThis role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name\nand return it inside a special field.",
"in": "query",
"name": "extractTemplateRoleName",
"type": "boolean"
},
{
"description": "exclude assignee not on project teams",
"in": "query",
"name": "excludeAssigneeNotOnProjectTeams",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "check if task has reminders",
"in": "query",
"name": "checkForReminders",
"type": "boolean"
},
{
"default": "true",
"description": "when filtering by assigned or unassagned tasks, include assignees that\nare not in the project.",
"in": "query",
"name": "allowAssigneesOutsideProject",
"type": "boolean"
},
{
"description": "customise the report by selecting columns to be displayed for tasks report",
"in": "query",
"items": {
"type": "string"
},
"name": "tasksSelectedColumns",
"type": "array"
},
{
"description": "filter by tasklist ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tasklistIds",
"type": "array"
},
{
"description": "filter by taskgroup ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskgroupIds",
"type": "array"
},
{
"description": "filter by task included set",
"in": "query",
"items": {
"enum": [
"overdue",
"nodate",
"nostartdate",
"noduedate",
"nostartwithfutureduedate",
"taskListNames",
"projectNames"
],
"type": "string"
},
"name": "taskIncludedSet",
"type": "array"
},
{
"description": "filter by tag values",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of task status",
"in": "query",
"items": {
"enum": [
"upcoming",
"late",
"all"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "skip crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipCRMDealIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed for planned vs actual.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "projectFeaturesEnabled",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"tasklists",
"parentTasks",
"companies",
"teams",
"users",
"milestones",
"comments",
"comments.users",
"tags",
"cards",
"cards.columns",
"timeTotals",
"taskSequences",
"commentFollowers",
"changeFollowers",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users",
"attachments",
"attachments.users",
"subtaskStats",
"timers",
"predecessors",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followed by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followedByUserIds",
"type": "array"
},
{
"description": "filter by board column ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterBoardColumnIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"displayOrder",
"projectId",
"status"
],
"type": "string"
},
"name": "fields[taskgroups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"frequency",
"selectedWeekDays",
"endDate",
"monthlyRepeatType",
"duration",
"rrule"
],
"type": "string"
},
"name": "fields[taskSequences]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"late",
"today",
"tomorrow",
"later-this-week",
"next-week",
"later",
"no-due-date"
],
"type": "string"
},
"name": "fields[groups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"isPrivate",
"latestFileVersionNo",
"versionId",
"status",
"description",
"lockdownId",
"tagIds",
"changeFollowers",
"commentFollowers",
"originalName",
"displayName",
"isLocked",
"lockedByUserId",
"lockedDate",
"size",
"uploadedDate",
"uploadedByUserID",
"updatedAt",
"deletedAt",
"deletedBy",
"fileSource",
"projectId",
"numLikes",
"reactions",
"versions",
"downloadURL",
"previewURL",
"thumbURL",
"relatedItems",
"commentsCount",
"commentsCountRead",
"categoryId"
],
"type": "string"
},
"name": "fields[files]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldTasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"title"
],
"type": "string"
},
"name": "fields[comments]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"displayOrder",
"createdAt",
"updatedAt",
"settings",
"sort",
"sortOrder",
"deletedAt",
"project",
"hasTriggers",
"deleted",
"stats",
"defaultTasklist"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"displayOrder",
"archived",
"archivedAt",
"archivedBy",
"createdAt",
"createBy",
"updatedAt",
"visible",
"status",
"deleteBy",
"deletedAt"
],
"type": "string"
},
"name": "fields[cards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "the ids of the expanded tasks",
"in": "query",
"items": {
"type": "integer"
},
"name": "expandedIds",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "crmDealIds",
"type": "array"
},
{
"description": "filter by creator user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "createdByUserIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate plannedvsactual report in XLSX format",
"tags": [
"Tasks"
]
}
},
"/projects/api/v3/reporting/precanned/usertaskcompletion.json": {
"get": {
"description": "Retrieve all people for the provided filters and their task completions.",
"operationId": "GET_projects_api_v3_reporting_precanned_usertaskcompletion.json",
"parameters": [
{
"description": "user type",
"enum": [
"account",
"collaborator",
"contact"
],
"in": "query",
"name": "userType",
"type": "string"
},
{
"description": "date time",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "start date for task completion report",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by comment content",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"id",
"name",
"namecaseinsensitive",
"overduetasks",
"assignedtasks",
"completedtasks",
"projects",
"activeprojects",
"(depreciated)"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"format": "date-time",
"in": "query",
"name": "lastLoginAfter",
"type": "string"
},
{
"description": "end date for task completion report",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "Include user job role in search",
"in": "query",
"name": "searchUserJobRole",
"type": "boolean"
},
{
"description": "Force to have the current/session user in the response",
"in": "query",
"name": "orderPrioritiseCurrentUser",
"type": "boolean"
},
{
"default": "false",
"in": "query",
"name": "onlySiteOwner",
"type": "boolean"
},
{
"default": "false",
"description": "return people only from the owner company. This will replace any provided\ncompany ID.",
"in": "query",
"name": "onlyOwnerCompany",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "make the filter inclusive for user ids, teamIds, companyIds",
"in": "query",
"name": "inclusiveFilter",
"type": "boolean"
},
{
"default": "false",
"description": "include service accounts",
"in": "query",
"name": "includeServiceAccounts",
"type": "boolean"
},
{
"default": "false",
"description": "include placeholder users",
"in": "query",
"name": "includePlaceholders",
"type": "boolean"
},
{
"default": "true",
"description": "exclude collaborators types, returning only account and contact.",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include clients",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects in the report",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "Returns users who are missing cost rates(OCA only)",
"in": "query",
"name": "filterByNoCostRate",
"type": "boolean"
},
{
"default": "false",
"description": "exclude contact types, returning only account and collaborator.",
"in": "query",
"name": "excludeContacts",
"type": "boolean"
},
{
"description": "team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by job role ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "jobRoleIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[person]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[people]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "exclude people assigned to certain project id",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
},
{
"description": "exclude certain user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
},
{
"description": "company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/people.TaskCompletionResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns task completions for all users",
"tags": [
"People"
]
}
},
"/projects/api/v3/reporting/precanned/usertaskcompletion/{userId}.json": {
"get": {
"description": "Retrieve a person record and its task completion stats.",
"operationId": "GET_projects_api_v3_reporting_precanned_usertaskcompletion_{userId}.json",
"parameters": [
{
"description": "user type",
"enum": [
"account",
"collaborator",
"contact"
],
"in": "query",
"name": "userType",
"type": "string"
},
{
"description": "date time",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "start date for task completion report",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by comment content",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"id",
"name",
"namecaseinsensitive",
"overduetasks",
"assignedtasks",
"completedtasks",
"projects",
"activeprojects",
"(depreciated)"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"format": "date-time",
"in": "query",
"name": "lastLoginAfter",
"type": "string"
},
{
"description": "end date for task completion report",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"in": "path",
"name": "userId",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page (not used when generating reports)",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number (not used when generating reports)",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "Include user job role in search",
"in": "query",
"name": "searchUserJobRole",
"type": "boolean"
},
{
"description": "Force to have the current/session user in the response",
"in": "query",
"name": "orderPrioritiseCurrentUser",
"type": "boolean"
},
{
"default": "false",
"in": "query",
"name": "onlySiteOwner",
"type": "boolean"
},
{
"default": "false",
"description": "return people only from the owner company. This will replace any provided\ncompany ID.",
"in": "query",
"name": "onlyOwnerCompany",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "make the filter inclusive for user ids, teamIds, companyIds",
"in": "query",
"name": "inclusiveFilter",
"type": "boolean"
},
{
"default": "false",
"description": "include service accounts",
"in": "query",
"name": "includeServiceAccounts",
"type": "boolean"
},
{
"default": "false",
"description": "include placeholder users",
"in": "query",
"name": "includePlaceholders",
"type": "boolean"
},
{
"default": "true",
"description": "exclude collaborators types, returning only account and contact.",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include clients",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects in the report",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "Returns users who are missing cost rates(OCA only)",
"in": "query",
"name": "filterByNoCostRate",
"type": "boolean"
},
{
"default": "false",
"description": "exclude contact types, returning only account and collaborator.",
"in": "query",
"name": "excludeContacts",
"type": "boolean"
},
{
"description": "team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by job role ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "jobRoleIds",
"type": "array"
},
{
"description": "include (not used when generating reports)",
"in": "query",
"items": {
"enum": [
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[person]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[people]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "exclude people assigned to certain project id",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeProjectIds",
"type": "array"
},
{
"description": "exclude certain user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
},
{
"description": "company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/people.TaskCompletionResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Returns task completions for given user",
"tags": [
"Person"
]
}
},
"/projects/api/v3/reporting/precanned/utilization.csv": {
"get": {
"description": "Generates a utilization report in CSV format containing all people for the\nprovided filters. Only the people that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_utilization.csv",
"parameters": [
{
"description": "determine the type of zoom filter used to display on the report",
"enum": [
"week",
"month",
"last3months",
"quarterbyweek",
"quarterbymonth"
],
"in": "query",
"name": "zoom",
"type": "string"
},
{
"description": "filter by start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "sortOrder",
"type": "string"
},
{
"default": "name",
"description": "sort by (deprecated, use orderBy)",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"billableutilization",
"nonbillableutilization"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"description": "filter by user first or last name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "group by",
"enum": [
"weekly",
"monthly"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "sort by",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"companycount",
"achieved",
"target",
"allocatedutilization",
"totalworkingminutes",
"availableutilization",
"unavailableutilization"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "group by",
"enum": [
"day",
"week",
"month"
],
"in": "query",
"name": "groupBy",
"type": "string"
},
{
"description": "filter by end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "return response without summary and its legacy body structure",
"in": "query",
"name": "legacyResponse",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "determine if the query is for a custom date range",
"in": "query",
"name": "isCustomDateRange",
"type": "boolean"
},
{
"default": "true",
"description": "adds report rows for individual entities",
"in": "query",
"name": "includeUtilizations",
"type": "boolean"
},
{
"default": "false",
"description": "adds report summary to response",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "true",
"description": "include collaborators",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include client users",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "IncludeCompletedTasks",
"type": "boolean"
},
{
"description": "filter by userIds",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by jobrole ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "jobRoleIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"jobroles"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"userId",
"unavailableMinutes",
"availableMinutes",
"billableMinutes",
"unbillableMinutes",
"loggedMinutes"
],
"type": "string"
},
"name": "fields[utilizations]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json",
"text/csv"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate utilization report in CSV format",
"tags": [
"People"
]
}
},
"/projects/api/v3/reporting/precanned/utilization.html": {
"get": {
"description": "Generates a utilization report in HTML format containing all people for the\nprovided filters. Only the people that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_utilization.html",
"parameters": [
{
"description": "determine the type of zoom filter used to display on the report",
"enum": [
"week",
"month",
"last3months",
"quarterbyweek",
"quarterbymonth"
],
"in": "query",
"name": "zoom",
"type": "string"
},
{
"description": "filter by start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "sortOrder",
"type": "string"
},
{
"default": "name",
"description": "sort by (deprecated, use orderBy)",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"billableutilization",
"nonbillableutilization"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"description": "filter by user first or last name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "group by",
"enum": [
"weekly",
"monthly"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "sort by",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"companycount",
"achieved",
"target",
"allocatedutilization",
"totalworkingminutes",
"availableutilization",
"unavailableutilization"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "group by",
"enum": [
"day",
"week",
"month"
],
"in": "query",
"name": "groupBy",
"type": "string"
},
{
"description": "filter by end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "return response without summary and its legacy body structure",
"in": "query",
"name": "legacyResponse",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "determine if the query is for a custom date range",
"in": "query",
"name": "isCustomDateRange",
"type": "boolean"
},
{
"default": "true",
"description": "adds report rows for individual entities",
"in": "query",
"name": "includeUtilizations",
"type": "boolean"
},
{
"default": "false",
"description": "adds report summary to response",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "true",
"description": "include collaborators",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include client users",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "IncludeCompletedTasks",
"type": "boolean"
},
{
"description": "filter by userIds",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by jobrole ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "jobRoleIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"jobroles"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"userId",
"unavailableMinutes",
"availableMinutes",
"billableMinutes",
"unbillableMinutes",
"loggedMinutes"
],
"type": "string"
},
"name": "fields[utilizations]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json",
"text/html"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate utilization report in HTML format",
"tags": [
"People"
]
}
},
"/projects/api/v3/reporting/precanned/utilization.pdf": {
"get": {
"description": "Generates a utilization report in PDF format containing all people for the\nprovided filters. Only the people that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_utilization.pdf",
"parameters": [
{
"description": "determine the type of zoom filter used to display on the report",
"enum": [
"week",
"month",
"last3months",
"quarterbyweek",
"quarterbymonth"
],
"in": "query",
"name": "zoom",
"type": "string"
},
{
"description": "filter by start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "sortOrder",
"type": "string"
},
{
"default": "name",
"description": "sort by (deprecated, use orderBy)",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"billableutilization",
"nonbillableutilization"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"description": "filter by user first or last name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "group by",
"enum": [
"weekly",
"monthly"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "sort by",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"companycount",
"achieved",
"target",
"allocatedutilization",
"totalworkingminutes",
"availableutilization",
"unavailableutilization"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "group by",
"enum": [
"day",
"week",
"month"
],
"in": "query",
"name": "groupBy",
"type": "string"
},
{
"description": "filter by end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "return response without summary and its legacy body structure",
"in": "query",
"name": "legacyResponse",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "determine if the query is for a custom date range",
"in": "query",
"name": "isCustomDateRange",
"type": "boolean"
},
{
"default": "true",
"description": "adds report rows for individual entities",
"in": "query",
"name": "includeUtilizations",
"type": "boolean"
},
{
"default": "false",
"description": "adds report summary to response",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "true",
"description": "include collaborators",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include client users",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "IncludeCompletedTasks",
"type": "boolean"
},
{
"description": "filter by userIds",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by jobrole ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "jobRoleIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"jobroles"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"userId",
"unavailableMinutes",
"availableMinutes",
"billableMinutes",
"unbillableMinutes",
"loggedMinutes"
],
"type": "string"
},
"name": "fields[utilizations]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json",
"application/pdf"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate utilization report in PDF format",
"tags": [
"People"
]
}
},
"/projects/api/v3/reporting/precanned/utilization.xlsx": {
"get": {
"description": "Generates a utilization report in XLSX format containing all people for the\nprovided filters. Only the people that the logged-in user can access will\nbe returned.",
"operationId": "GET_projects_api_v3_reporting_precanned_utilization.xlsx",
"parameters": [
{
"description": "determine the type of zoom filter used to display on the report",
"enum": [
"week",
"month",
"last3months",
"quarterbyweek",
"quarterbymonth"
],
"in": "query",
"name": "zoom",
"type": "string"
},
{
"description": "filter by start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "sortOrder",
"type": "string"
},
{
"default": "name",
"description": "sort by (deprecated, use orderBy)",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"billableutilization",
"nonbillableutilization"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"description": "filter by user first or last name",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "group by",
"enum": [
"weekly",
"monthly"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "sort by",
"enum": [
"name",
"percentutilization",
"percentestimatedutilization",
"availableminutes",
"unavailableminutes",
"loggedminutes",
"billableminutes",
"unbillableminutes",
"companycount",
"achieved",
"target",
"allocatedutilization",
"totalworkingminutes",
"availableutilization",
"unavailableutilization"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "group by",
"enum": [
"day",
"week",
"month"
],
"in": "query",
"name": "groupBy",
"type": "string"
},
{
"description": "filter by end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "return response without summary and its legacy body structure",
"in": "query",
"name": "legacyResponse",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "determine if the query is for a custom date range",
"in": "query",
"name": "isCustomDateRange",
"type": "boolean"
},
{
"default": "true",
"description": "adds report rows for individual entities",
"in": "query",
"name": "includeUtilizations",
"type": "boolean"
},
{
"default": "false",
"description": "adds report summary to response",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "true",
"description": "include collaborators",
"in": "query",
"name": "includeCollaborators",
"type": "boolean"
},
{
"default": "true",
"description": "include client users",
"in": "query",
"name": "includeClients",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "include completed tasks",
"in": "query",
"name": "IncludeCompletedTasks",
"type": "boolean"
},
{
"description": "filter by userIds",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by jobrole ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "jobRoleIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"jobroles"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"userId",
"unavailableMinutes",
"availableMinutes",
"billableMinutes",
"unbillableMinutes",
"loggedMinutes"
],
"type": "string"
},
"name": "fields[utilizations]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
],
"responses": {
"200": {
"description": "200 OK (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Generate utilization report in XLSX format",
"tags": [
"People"
]
}
},
"/projects/api/v3/risks.json": {
"get": {
"description": "Return all risks for the provided filters. Only filters that the logged-in user\nhas access will be returned.",
"operationId": "GET_projects_api_v3_risks.json",
"parameters": [
{
"description": "filter by risks updated after specified date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by risks updated after specified date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "sort order (deprecated, use orderMode)",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "sortOrder",
"type": "string"
},
{
"description": "sort by (deprecated, use orderBy)",
"enum": [
"datecreated",
"source",
"probability",
"impact",
"result",
"project"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"description": "search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "sort order",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"description": "sort by",
"enum": [
"datecreated",
"source",
"probability",
"impact",
"result",
"project"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by probability",
"in": "query",
"name": "probabilityTo",
"type": "integer"
},
{
"description": "filter by probability",
"in": "query",
"name": "probabilityFrom",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by impact",
"in": "query",
"name": "impactTo",
"type": "integer"
},
{
"description": "filter by impact",
"in": "query",
"name": "impactFrom",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by risks that impact schedule",
"in": "query",
"name": "impactSchedule",
"type": "boolean"
},
{
"description": "filter by risks that impact performance",
"in": "query",
"name": "impactPerformance",
"type": "boolean"
},
{
"description": "filter by risks that impact cost",
"in": "query",
"name": "impactCost",
"type": "boolean"
},
{
"description": "filter by risk statuses",
"in": "query",
"items": {
"enum": [
"new",
"pending",
"closed"
],
"type": "string"
},
"name": "statuses",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "list of project statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"users",
"projects.companies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by specific ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"source",
"probability",
"probabilityValue",
"impact",
"impactValue",
"impactCost",
"impactSchedule",
"impactPerformance",
"createdOn",
"createdByUserId",
"lastChangedOn",
"lastChangedByUserId",
"result",
"mitigationPlan",
"stats",
"projectId",
"deleted",
"canEdit"
],
"type": "string"
},
"name": "fields[risks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/risk.RisksResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all risks",
"tags": [
"Risks"
]
}
},
"/projects/api/v3/statuses.json": {
"get": {
"description": "All of the latest status posts are returned for all users in the parent\ncompany.",
"operationId": "GET_projects_api_v3_statuses.json",
"parameters": [
{
"description": "return only statuses updated after a specific date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by the user name or status message",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by team",
"in": "query",
"name": "teamId",
"type": "integer"
},
{
"default": "100",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "show also users without status",
"in": "query",
"name": "showEveryone",
"type": "boolean"
},
{
"default": "false",
"description": "showDeleted statuses",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "also include statuses from subteams",
"in": "query",
"name": "includeSubteams",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"statuses",
"users",
"userevents"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"emoji",
"text",
"dateTime",
"ipAddress",
"dateLastUpdated"
],
"type": "string"
},
"name": "fields[statuses]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/status.TimelineResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all statuses",
"tags": [
"PeopleStatus"
]
}
},
"/projects/api/v3/statuses/timeline.json": {
"get": {
"description": "Return a timeline list of people statuses that the logged-in user can access.",
"operationId": "GET_projects_api_v3_statuses_timeline.json",
"parameters": [
{
"description": "filter by the user name or status message",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by team",
"in": "query",
"name": "teamId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "showDeleted statuses",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "also include statuses from subteams",
"in": "query",
"name": "includeSubteams",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"userevents"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/status.TimelineResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get the people statuses timeline.",
"tags": [
"PeopleStatus"
]
}
},
"/projects/api/v3/summary.json": {
"get": {
"description": "Retrieves the summary from the entire installation, returning counters about\ntasks, milestones, columns, events, risks, timers, projects healths.\n\n\nOn this endpoint you can filter by project custom fields. The syntax for the\nquery parameter is the following:\n\n projectCustomField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n projectCustomField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_summary.json",
"parameters": [
{
"description": "used to limit the since counters to a specific period",
"enum": [
"now",
"timeRange"
],
"in": "query",
"name": "until",
"type": "string"
},
{
"description": "filter by start datetime",
"format": "date-time",
"in": "query",
"name": "timeRangeStart",
"type": "string"
},
{
"description": "filter by end datetime",
"format": "date-time",
"in": "query",
"name": "timeRangeEnd",
"type": "string"
},
{
"description": "filter by time range. It will be ignored if timeRangeStart and timeRangeEnd\nare provided.",
"enum": [
"yesterday",
"today",
"thisweek",
"lastweek",
"thismonth",
"lastmonth",
"last3months",
"last6months"
],
"in": "query",
"name": "timeRange",
"type": "string"
},
{
"description": "project status (deprecated, use projectStatuses)",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "status",
"type": "string"
},
{
"description": "project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "7",
"description": "number of days remaining to event's start",
"in": "query",
"name": "eventsDaysAhead",
"type": "integer"
},
{
"description": "enforce today is considered as start date for today's tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "filter by my unread messages only",
"in": "query",
"name": "unreadMessagesMineOnly",
"type": "boolean"
},
{
"description": "filter by my unread comments only",
"in": "query",
"name": "unreadCommentsMineOnly",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "filter only project events",
"in": "query",
"name": "onlyProjectEvents",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched (deprecated, use matchAllProjectTags)",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "include teams related to the taskAssigneeUserIds",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "count only events that the users are attending",
"in": "query",
"name": "eventsAttendingOnly",
"type": "boolean"
},
{
"description": "the since section will only use taskAssigneeUserIds if this flag is true\n(keeps backward compatibility)",
"in": "query",
"name": "applyTaskAssigneeUsersToSince",
"type": "boolean"
},
{
"default": "false",
"description": "when enabled unread counters will respect the time range period.",
"in": "query",
"name": "applySinceOnUnread",
"type": "boolean"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by user ids who time logged",
"in": "query",
"items": {
"type": "integer"
},
"name": "timeLoggedByUserIds",
"type": "array"
},
{
"description": "filter by user ids with tasks assigned",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskAssigneeUserIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "project healths (deprecated, use projectHealths)\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealth",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "filter by user ids with milestones assigned",
"in": "query",
"items": {
"type": "integer"
},
"name": "milestoneAssigneeUserIds",
"type": "array"
},
{
"description": "filter by project tag ids (deprecated, use projectTagIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterTagIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"comments",
"messages"
],
"type": "string"
},
"name": "fields[unread]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"estimates",
"totals"
],
"type": "string"
},
"name": "fields[time]",
"type": "array"
},
{
"description": "sparse fields",
"in": "query",
"items": {
"enum": [
"nodate",
"today",
"late",
"started",
"complete",
"upcoming",
"active"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"count",
"data"
],
"type": "string"
},
"name": "fields[stages]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"tasksComplete",
"tasksCreated",
"events",
"dateTime"
],
"type": "string"
},
"name": "fields[since]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"total",
"open",
"pending",
"closed"
],
"type": "string"
},
"name": "fields[risks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"today",
"late",
"complete",
"upcoming",
"active"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"description": "0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "string"
},
"name": "fields[health]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"today",
"upcoming"
],
"type": "string"
},
"name": "fields[events]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"count",
"data"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"description": "filter by company ids (deprecated, use projectCompanyIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
},
{
"description": "filter by user ids with tasks or milestones assigned",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeUserIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/summary.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get installation summary dashboard",
"tags": [
"Summary"
]
}
},
"/projects/api/v3/tags.json": {
"get": {
"description": "Return all tags that the logged-in user can access.",
"operationId": "GET_projects_api_v3_tags.json",
"parameters": [
{
"description": "search for tags updated after the provided date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"name",
"count",
"project",
"color",
"datelastupdated",
"projectdatelastused"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by item type",
"enum": [
"all",
"project",
"task",
"tasklist",
"milestone",
"message",
"comment",
"timelog",
"file",
"user",
"company",
"invoice",
"risk",
"notebook",
"link",
"event",
"notebookversion",
"fileversion"
],
"in": "query",
"name": "itemType",
"type": "string"
},
{
"default": "all",
"description": "mode used when filtering the tags",
"enum": [
"all",
"recent"
],
"in": "query",
"name": "filter",
"type": "string"
},
{
"default": "500",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"default": "false",
"description": "include in the response the number of items that use the tag",
"in": "query",
"name": "withCounters",
"type": "boolean"
},
{
"default": "true",
"description": "do not include in the response special tags",
"in": "query",
"name": "skipSpecial",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "search term will be placed as a prefix to match the tag names",
"in": "query",
"name": "searchRightOnly",
"type": "boolean"
},
{
"description": "skip from the result tags with the defined ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipIds",
"type": "array"
},
{
"description": "filter by projects",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tag.TagsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all tags",
"tags": [
"Tags"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Creates a new tag. If there's already a tag with the same name in the\ninstallation, it will be returned in the response with the status code 200\n(OK).",
"operationId": "POST_projects_api_v3_tags.json",
"parameters": [
{
"in": "body",
"name": "tag.Request",
"required": true,
"schema": {
"$ref": "#/definitions/tag.Request"
}
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tag.Response"
}
},
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/tag.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a single tag",
"tags": [
"Tags"
]
}
},
"/projects/api/v3/tags/bulk/delete.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Removes many tags at once.",
"operationId": "POST_projects_api_v3_tags_bulk_delete.json",
"parameters": [
{
"in": "body",
"name": "tag.BulkDeleteRequest",
"required": true,
"schema": {
"$ref": "#/definitions/tag.BulkDeleteRequest"
}
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete many tags at once",
"tags": [
"Tags"
]
}
},
"/projects/api/v3/tags/{tagId}.json": {
"delete": {
"description": "Removes a tag. If there's no tag with the given ID the status code 409\n(CONFLICT) will be returned.",
"operationId": "DELETE_projects_api_v3_tags_{tagId}.json",
"parameters": [
{
"in": "path",
"name": "tagId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Deletes a tag",
"tags": [
"Tags"
]
},
"get": {
"description": "Return a specific tag.",
"operationId": "GET_projects_api_v3_tags_{tagId}.json",
"parameters": [
{
"in": "path",
"name": "tagId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tag.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get details of an individual tag",
"tags": [
"Tags"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Updates a existing tag. If there's already a tag with the same changed name\nin the installation, it will be returned the status code 409 (CONFLICT).",
"operationId": "PATCH_projects_api_v3_tags_{tagId}.json",
"parameters": [
{
"in": "body",
"name": "tag.Request",
"required": true,
"schema": {
"$ref": "#/definitions/tag.Request"
}
},
{
"in": "path",
"name": "tagId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tag.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update a single tag",
"tags": [
"Tags"
]
}
},
"/projects/api/v3/tasklists": {
"get": {
"operationId": "GET_projects_api_v3_tasklists",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "displayorder",
"description": "order by",
"enum": [
"displayorder",
"name",
"status",
"createdat",
"updatedat",
"project"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "nil",
"description": "filter the task list budget by its parent project budget id, if none\nis provided it weill default to the current active budget.",
"in": "query",
"name": "projectBudgetId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"default": "false",
"description": "sort active lists first",
"in": "query",
"name": "sortActiveListsFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "include private items",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "include completed items",
"in": "query",
"name": "showCompleted",
"type": "boolean"
},
{
"default": "false",
"description": "this means use the tasklist report endpoint, which has totally different query params",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "include empty lists",
"in": "query",
"name": "getEmptyLists",
"type": "boolean"
},
{
"default": "false",
"description": "include only completed items",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"defaultTasks",
"defaultTasks.users",
"defaultTasks.teams",
"defaultTasks.reminders",
"defaultTasks.customfields",
"defaultTasks.companies",
"createdBy",
"updatedBy",
"companies",
"projects",
"milestones",
"defaultCustomfields",
"defaultCustomfieldTasks",
"defaultColumns",
"defaultWorkflowStages",
"defaultWorkflows",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"default": "nil",
"description": "Exclude certain tasklists from the response",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tasklist.TasklistsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all tasklists",
"tags": [
"TaskLists"
]
}
},
"/projects/api/v3/tasklists/{tasklistId}": {
"get": {
"operationId": "GET_projects_api_v3_tasklists_{tasklistId}",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by project type",
"in": "query",
"name": "projectType",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "displayorder",
"description": "order by",
"enum": [
"displayorder",
"name",
"status",
"createdat",
"updatedat",
"project"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"in": "path",
"name": "tasklistId",
"required": true,
"type": "integer"
},
{
"default": "nil",
"description": "filter the task list budget by its parent project budget id, if none\nis provided it weill default to the current active budget.",
"in": "query",
"name": "projectBudgetId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"default": "false",
"description": "sort active lists first",
"in": "query",
"name": "sortActiveListsFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "true",
"description": "include private items",
"in": "query",
"name": "showPrivate",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "include completed items",
"in": "query",
"name": "showCompleted",
"type": "boolean"
},
{
"default": "false",
"description": "this means use the tasklist report endpoint, which has totally different query params",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"default": "true",
"description": "include empty lists",
"in": "query",
"name": "getEmptyLists",
"type": "boolean"
},
{
"default": "false",
"description": "include only completed items",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"defaultTasks",
"defaultTasks.users",
"defaultTasks.teams",
"defaultTasks.reminders",
"defaultTasks.customfields",
"defaultTasks.companies",
"createdBy",
"updatedBy",
"companies",
"projects",
"milestones",
"defaultCustomfields",
"defaultCustomfieldTasks",
"defaultColumns",
"defaultWorkflowStages",
"defaultWorkflows",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"default": "nil",
"description": "Exclude certain tasklists from the response",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/tasklist.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get specific tasklist",
"tags": [
"TaskLists"
]
}
},
"/projects/api/v3/tasklists/{tasklistId}.json": {
"delete": {
"operationId": "DELETE_projects_api_v3_tasklists_{tasklistId}.json",
"parameters": [
{
"in": "path",
"name": "tasklistId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing tasklist.",
"tags": [
"Tasklists"
]
}
},
"/projects/api/v3/tasklists/{tasklistId}/tasks.json": {
"get": {
"description": "Return multiple tasks according to the provided filter.\n\n\nOn this endpoint you can filter by custom fields. The syntax for the\nquery parameter is the following:\n\n customField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n customField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_tasklists_{tasklistId}_tasks.json",
"parameters": [
{
"description": "filter by updated before date",
"format": "date-time",
"in": "query",
"name": "updatedBefore",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by today",
"format": "date-time",
"in": "query",
"name": "today",
"type": "string"
},
{
"description": "filter by a taskFilter",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskFilter",
"type": "string"
},
{
"description": "filter on start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "task",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"task",
"tasktime"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"html",
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by task priority",
"in": "query",
"name": "priority",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "duedate",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedat",
"duestartdate",
"alldates",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname",
"createdby",
"completedby",
"assignedto",
"taskstatus",
"taskduedate",
"customfield",
"estimatedtime",
"boardcolumn",
"taskgroupid",
"taskgroupname",
"taskgroup",
"displayorder",
"projectmanual",
"stagedisplayorder",
"stage"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter on end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "filter before a due date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter after a due date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"description": "filter on deleted after date",
"format": "date-time",
"in": "query",
"name": "deletedAfter",
"type": "string"
},
{
"description": "filter by created filter",
"enum": [
"anytime",
"today",
"yesterday",
"custom"
],
"in": "query",
"name": "createdFilter",
"type": "string"
},
{
"description": "filter by created date code",
"in": "query",
"name": "createdDateCode",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by completed before date",
"format": "date-time",
"in": "query",
"name": "completedBefore",
"type": "string"
},
{
"description": "filter by completed after date",
"format": "date-time",
"in": "query",
"name": "completedAfter",
"type": "string"
},
{
"description": "filter by updated user id",
"in": "query",
"name": "updatedByUserId",
"type": "integer"
},
{
"in": "path",
"name": "tasklistId",
"required": true,
"type": "integer"
},
{
"description": "filter by parent task ids",
"in": "query",
"name": "parentTaskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "include task id",
"in": "query",
"name": "includeTaskId",
"type": "integer"
},
{
"description": "provide a user saved filter ID",
"in": "query",
"name": "filterId",
"type": "integer"
},
{
"description": "filter by completed user id",
"in": "query",
"name": "completedByUserId",
"type": "integer"
},
{
"default": "false",
"description": "use daterange logic from table when getting the tasks",
"in": "query",
"name": "useTaskDateRange",
"type": "boolean"
},
{
"description": "use start dates for todays tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "filter on all projects",
"in": "query",
"name": "useAllProjects",
"type": "boolean"
},
{
"default": "false",
"description": "sort active tasks first",
"in": "query",
"name": "sortActiveFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include tasks from completed lists",
"in": "query",
"name": "showCompletedLists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"description": "only untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "only return tasks that are unplanned. Not assigned, no due date or\nmissing estimated time.",
"in": "query",
"name": "onlyUnplanned",
"type": "boolean"
},
{
"description": "filter by only tasks with unread comments",
"in": "query",
"name": "onlyTasksWithUnreadComments",
"type": "boolean"
},
{
"description": "filter by only tasks with tickets",
"in": "query",
"name": "onlyTasksWithTickets",
"type": "boolean"
},
{
"description": "only return tasks with estimated time",
"in": "query",
"name": "onlyTasksWithEstimatedTime",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only include tasks from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "nest sub tasks",
"in": "query",
"name": "nestSubTasks",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include tasks latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"description": "include untagged tasks",
"in": "query",
"name": "includeUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by include tomorrow",
"in": "query",
"name": "includeTomorrow",
"type": "boolean"
},
{
"description": "filter by include today",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"description": "include members of the given teams",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without due dates",
"in": "query",
"name": "includeTasksWithoutDueDates",
"type": "boolean"
},
{
"default": "true",
"description": "include tasks with cards",
"in": "query",
"name": "includeTasksWithCards",
"type": "boolean"
},
{
"description": "include tasks from deleted lists",
"in": "query",
"name": "includeTasksFromDeletedLists",
"type": "boolean"
},
{
"default": "false",
"description": "include total count of tasks for given filter",
"in": "query",
"name": "includeTasksCount",
"type": "boolean"
},
{
"description": "include ids of active subtasks, dependencies, predecessors",
"in": "query",
"name": "includeRelatedTasks",
"type": "boolean"
},
{
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include overdue tasks",
"in": "query",
"name": "includeOverdueTasks",
"type": "boolean"
},
{
"description": "include original due date of a task",
"in": "query",
"name": "includeOriginalDueDate",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"description": "include ids of completed predecessors. It must be provided with\nincludeRelatedTasks flag or with the predecessors sideload.",
"in": "query",
"name": "includeCompletedPredecessors",
"type": "boolean"
},
{
"description": "include members of the given companies",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each task",
"in": "query",
"name": "includeCommentStats",
"type": "boolean"
},
{
"description": "filter by include blocked",
"in": "query",
"name": "includeBlocked",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each file attachment",
"in": "query",
"name": "includeAttachmentCommentStats",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "group by tasklist",
"in": "query",
"name": "groupByTasklist",
"type": "boolean"
},
{
"description": "group by taskgroup",
"in": "query",
"name": "groupByTaskgroup",
"type": "boolean"
},
{
"description": "get sub tasks",
"in": "query",
"name": "getSubTasks",
"type": "boolean"
},
{
"description": "get files",
"in": "query",
"name": "getFiles",
"type": "boolean"
},
{
"description": "set due date as milestone due date if due date is null and there's a related milestone",
"in": "query",
"name": "fallbackToMilestoneDueDate",
"type": "boolean"
},
{
"description": "For tasks created in a project template it's possible to assign a role instead of people, companies or teams.\nThis role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name\nand return it inside a special field.",
"in": "query",
"name": "extractTemplateRoleName",
"type": "boolean"
},
{
"description": "exclude assignee not on project teams",
"in": "query",
"name": "excludeAssigneeNotOnProjectTeams",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "check if task has reminders",
"in": "query",
"name": "checkForReminders",
"type": "boolean"
},
{
"default": "true",
"description": "when filtering by assigned or unassagned tasks, include assignees that\nare not in the project.",
"in": "query",
"name": "allowAssigneesOutsideProject",
"type": "boolean"
},
{
"description": "customise the report by selecting columns to be displayed for tasks report",
"in": "query",
"items": {
"type": "string"
},
"name": "tasksSelectedColumns",
"type": "array"
},
{
"description": "filter by tasklist ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tasklistIds",
"type": "array"
},
{
"description": "filter by taskgroup ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskgroupIds",
"type": "array"
},
{
"description": "filter by task included set",
"in": "query",
"items": {
"enum": [
"overdue",
"nodate",
"nostartdate",
"noduedate",
"nostartwithfutureduedate",
"taskListNames",
"projectNames"
],
"type": "string"
},
"name": "taskIncludedSet",
"type": "array"
},
{
"description": "filter by tag values",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of task status",
"in": "query",
"items": {
"enum": [
"upcoming",
"late",
"all"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "skip crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipCRMDealIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed for planned vs actual.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "projectFeaturesEnabled",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"tasklists",
"parentTasks",
"companies",
"teams",
"users",
"milestones",
"comments",
"comments.users",
"tags",
"cards",
"cards.columns",
"timeTotals",
"taskSequences",
"commentFollowers",
"changeFollowers",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users",
"attachments",
"attachments.users",
"subtaskStats",
"timers",
"predecessors",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followed by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followedByUserIds",
"type": "array"
},
{
"description": "filter by board column ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterBoardColumnIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"displayOrder",
"projectId",
"status"
],
"type": "string"
},
"name": "fields[taskgroups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"frequency",
"selectedWeekDays",
"endDate",
"monthlyRepeatType",
"duration",
"rrule"
],
"type": "string"
},
"name": "fields[taskSequences]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"late",
"today",
"tomorrow",
"later-this-week",
"next-week",
"later",
"no-due-date"
],
"type": "string"
},
"name": "fields[groups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"isPrivate",
"latestFileVersionNo",
"versionId",
"status",
"description",
"lockdownId",
"tagIds",
"changeFollowers",
"commentFollowers",
"originalName",
"displayName",
"isLocked",
"lockedByUserId",
"lockedDate",
"size",
"uploadedDate",
"uploadedByUserID",
"updatedAt",
"deletedAt",
"deletedBy",
"fileSource",
"projectId",
"numLikes",
"reactions",
"versions",
"downloadURL",
"previewURL",
"thumbURL",
"relatedItems",
"commentsCount",
"commentsCountRead",
"categoryId"
],
"type": "string"
},
"name": "fields[files]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldTasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"title"
],
"type": "string"
},
"name": "fields[comments]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"displayOrder",
"createdAt",
"updatedAt",
"settings",
"sort",
"sortOrder",
"deletedAt",
"project",
"hasTriggers",
"deleted",
"stats",
"defaultTasklist"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"displayOrder",
"archived",
"archivedAt",
"archivedBy",
"createdAt",
"createBy",
"updatedAt",
"visible",
"status",
"deleteBy",
"deletedAt"
],
"type": "string"
},
"name": "fields[cards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "the ids of the expanded tasks",
"in": "query",
"items": {
"type": "integer"
},
"name": "expandedIds",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "crmDealIds",
"type": "array"
},
{
"description": "filter by creator user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "createdByUserIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/task.tasksResponseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get a specific tasklist's tasks.",
"tags": [
"Tasks"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Create a new task in the provided task list.",
"operationId": "POST_projects_api_v3_tasklists_{tasklistId}_tasks.json",
"parameters": [
{
"in": "body",
"name": "task.Request",
"required": true,
"schema": {
"$ref": "#/definitions/task.Request"
}
},
{
"in": "path",
"name": "tasklistId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/task.responseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Creates a task.",
"tags": [
"Tasks"
],
"x-private": true
}
},
"/projects/api/v3/tasklists/{tasklistId}/time/total.json": {
"get": {
"operationId": "GET_projects_api_v3_tasklists_{tasklistId}_time_total.json",
"parameters": [
{
"in": "path",
"name": "tasklistId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.TotalsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get timelog totals for a specific task.",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/tasks.json": {
"get": {
"description": "Return multiple tasks according to the provided filter.\n\n\nOn this endpoint you can filter by custom fields. The syntax for the\nquery parameter is the following:\n\n customField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n customField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_tasks.json",
"parameters": [
{
"description": "filter by updated before date",
"format": "date-time",
"in": "query",
"name": "updatedBefore",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by today",
"format": "date-time",
"in": "query",
"name": "today",
"type": "string"
},
{
"description": "filter by a taskFilter",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskFilter",
"type": "string"
},
{
"description": "filter on start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "task",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"task",
"tasktime"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"html",
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by task priority",
"in": "query",
"name": "priority",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "duedate",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedat",
"duestartdate",
"alldates",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname",
"createdby",
"completedby",
"assignedto",
"taskstatus",
"taskduedate",
"customfield",
"estimatedtime",
"boardcolumn",
"taskgroupid",
"taskgroupname",
"taskgroup",
"displayorder",
"projectmanual",
"stagedisplayorder",
"stage"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter on end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "filter before a due date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter after a due date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"description": "filter on deleted after date",
"format": "date-time",
"in": "query",
"name": "deletedAfter",
"type": "string"
},
{
"description": "filter by created filter",
"enum": [
"anytime",
"today",
"yesterday",
"custom"
],
"in": "query",
"name": "createdFilter",
"type": "string"
},
{
"description": "filter by created date code",
"in": "query",
"name": "createdDateCode",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by completed before date",
"format": "date-time",
"in": "query",
"name": "completedBefore",
"type": "string"
},
{
"description": "filter by completed after date",
"format": "date-time",
"in": "query",
"name": "completedAfter",
"type": "string"
},
{
"description": "filter by updated user id",
"in": "query",
"name": "updatedByUserId",
"type": "integer"
},
{
"description": "filter by parent task ids",
"in": "query",
"name": "parentTaskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "include task id",
"in": "query",
"name": "includeTaskId",
"type": "integer"
},
{
"description": "provide a user saved filter ID",
"in": "query",
"name": "filterId",
"type": "integer"
},
{
"description": "filter by completed user id",
"in": "query",
"name": "completedByUserId",
"type": "integer"
},
{
"default": "false",
"description": "use daterange logic from table when getting the tasks",
"in": "query",
"name": "useTaskDateRange",
"type": "boolean"
},
{
"description": "use start dates for todays tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "filter on all projects",
"in": "query",
"name": "useAllProjects",
"type": "boolean"
},
{
"default": "false",
"description": "sort active tasks first",
"in": "query",
"name": "sortActiveFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include tasks from completed lists",
"in": "query",
"name": "showCompletedLists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"description": "only untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "only return tasks that are unplanned. Not assigned, no due date or\nmissing estimated time.",
"in": "query",
"name": "onlyUnplanned",
"type": "boolean"
},
{
"description": "filter by only tasks with unread comments",
"in": "query",
"name": "onlyTasksWithUnreadComments",
"type": "boolean"
},
{
"description": "filter by only tasks with tickets",
"in": "query",
"name": "onlyTasksWithTickets",
"type": "boolean"
},
{
"description": "only return tasks with estimated time",
"in": "query",
"name": "onlyTasksWithEstimatedTime",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only include tasks from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "nest sub tasks",
"in": "query",
"name": "nestSubTasks",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include tasks latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"description": "include untagged tasks",
"in": "query",
"name": "includeUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by include tomorrow",
"in": "query",
"name": "includeTomorrow",
"type": "boolean"
},
{
"description": "filter by include today",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"description": "include members of the given teams",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without due dates",
"in": "query",
"name": "includeTasksWithoutDueDates",
"type": "boolean"
},
{
"default": "true",
"description": "include tasks with cards",
"in": "query",
"name": "includeTasksWithCards",
"type": "boolean"
},
{
"description": "include tasks from deleted lists",
"in": "query",
"name": "includeTasksFromDeletedLists",
"type": "boolean"
},
{
"default": "false",
"description": "include total count of tasks for given filter",
"in": "query",
"name": "includeTasksCount",
"type": "boolean"
},
{
"description": "include ids of active subtasks, dependencies, predecessors",
"in": "query",
"name": "includeRelatedTasks",
"type": "boolean"
},
{
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include overdue tasks",
"in": "query",
"name": "includeOverdueTasks",
"type": "boolean"
},
{
"description": "include original due date of a task",
"in": "query",
"name": "includeOriginalDueDate",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"description": "include ids of completed predecessors. It must be provided with\nincludeRelatedTasks flag or with the predecessors sideload.",
"in": "query",
"name": "includeCompletedPredecessors",
"type": "boolean"
},
{
"description": "include members of the given companies",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each task",
"in": "query",
"name": "includeCommentStats",
"type": "boolean"
},
{
"description": "filter by include blocked",
"in": "query",
"name": "includeBlocked",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each file attachment",
"in": "query",
"name": "includeAttachmentCommentStats",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "group by tasklist",
"in": "query",
"name": "groupByTasklist",
"type": "boolean"
},
{
"description": "group by taskgroup",
"in": "query",
"name": "groupByTaskgroup",
"type": "boolean"
},
{
"description": "get sub tasks",
"in": "query",
"name": "getSubTasks",
"type": "boolean"
},
{
"description": "get files",
"in": "query",
"name": "getFiles",
"type": "boolean"
},
{
"description": "set due date as milestone due date if due date is null and there's a related milestone",
"in": "query",
"name": "fallbackToMilestoneDueDate",
"type": "boolean"
},
{
"description": "For tasks created in a project template it's possible to assign a role instead of people, companies or teams.\nThis role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name\nand return it inside a special field.",
"in": "query",
"name": "extractTemplateRoleName",
"type": "boolean"
},
{
"description": "exclude assignee not on project teams",
"in": "query",
"name": "excludeAssigneeNotOnProjectTeams",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "check if task has reminders",
"in": "query",
"name": "checkForReminders",
"type": "boolean"
},
{
"default": "true",
"description": "when filtering by assigned or unassagned tasks, include assignees that\nare not in the project.",
"in": "query",
"name": "allowAssigneesOutsideProject",
"type": "boolean"
},
{
"description": "customise the report by selecting columns to be displayed for tasks report",
"in": "query",
"items": {
"type": "string"
},
"name": "tasksSelectedColumns",
"type": "array"
},
{
"description": "filter by tasklist ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tasklistIds",
"type": "array"
},
{
"description": "filter by taskgroup ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskgroupIds",
"type": "array"
},
{
"description": "filter by task included set",
"in": "query",
"items": {
"enum": [
"overdue",
"nodate",
"nostartdate",
"noduedate",
"nostartwithfutureduedate",
"taskListNames",
"projectNames"
],
"type": "string"
},
"name": "taskIncludedSet",
"type": "array"
},
{
"description": "filter by tag values",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of task status",
"in": "query",
"items": {
"enum": [
"upcoming",
"late",
"all"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "skip crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipCRMDealIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed for planned vs actual.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "projectFeaturesEnabled",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"tasklists",
"parentTasks",
"companies",
"teams",
"users",
"milestones",
"comments",
"comments.users",
"tags",
"cards",
"cards.columns",
"timeTotals",
"taskSequences",
"commentFollowers",
"changeFollowers",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users",
"attachments",
"attachments.users",
"subtaskStats",
"timers",
"predecessors",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followed by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followedByUserIds",
"type": "array"
},
{
"description": "filter by board column ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterBoardColumnIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"displayOrder",
"projectId",
"status"
],
"type": "string"
},
"name": "fields[taskgroups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"frequency",
"selectedWeekDays",
"endDate",
"monthlyRepeatType",
"duration",
"rrule"
],
"type": "string"
},
"name": "fields[taskSequences]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"late",
"today",
"tomorrow",
"later-this-week",
"next-week",
"later",
"no-due-date"
],
"type": "string"
},
"name": "fields[groups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"isPrivate",
"latestFileVersionNo",
"versionId",
"status",
"description",
"lockdownId",
"tagIds",
"changeFollowers",
"commentFollowers",
"originalName",
"displayName",
"isLocked",
"lockedByUserId",
"lockedDate",
"size",
"uploadedDate",
"uploadedByUserID",
"updatedAt",
"deletedAt",
"deletedBy",
"fileSource",
"projectId",
"numLikes",
"reactions",
"versions",
"downloadURL",
"previewURL",
"thumbURL",
"relatedItems",
"commentsCount",
"commentsCountRead",
"categoryId"
],
"type": "string"
},
"name": "fields[files]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldTasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"title"
],
"type": "string"
},
"name": "fields[comments]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"displayOrder",
"createdAt",
"updatedAt",
"settings",
"sort",
"sortOrder",
"deletedAt",
"project",
"hasTriggers",
"deleted",
"stats",
"defaultTasklist"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"displayOrder",
"archived",
"archivedAt",
"archivedBy",
"createdAt",
"createBy",
"updatedAt",
"visible",
"status",
"deleteBy",
"deletedAt"
],
"type": "string"
},
"name": "fields[cards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "the ids of the expanded tasks",
"in": "query",
"items": {
"type": "integer"
},
"name": "expandedIds",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "crmDealIds",
"type": "array"
},
{
"description": "filter by creator user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "createdByUserIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/task.tasksResponseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all tasks.",
"tags": [
"Tasks"
]
}
},
"/projects/api/v3/tasks/metrics/complete.json": {
"get": {
"description": "Returns the total number of completed tasks. Only the tasks that the\nlogged-in user can access will be counted.",
"operationId": "GET_projects_api_v3_tasks_metrics_complete.json",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/complete.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Total count of completed tasks",
"tags": [
"Tasks"
]
}
},
"/projects/api/v3/tasks/metrics/late.json": {
"get": {
"description": "Returns the number of late tasks. Only the tasks that the logged-in user has\naccess to will be counted.",
"operationId": "GET_projects_api_v3_tasks_metrics_late.json",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/late.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get total count of late tasks",
"tags": [
"Tasks"
]
}
},
"/projects/api/v3/tasks/{taskId}.json": {
"delete": {
"description": "Delete a task and its subtasks.",
"operationId": "DELETE_projects_api_v3_tasks_{taskId}.json",
"parameters": [
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing task.",
"tags": [
"Tasks"
],
"x-private": true
},
"get": {
"description": "Returns the information about a specific task.\n\n\nOn this endpoint you can filter by custom fields. The syntax for the\nquery parameter is the following:\n\n customField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n customField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_tasks_{taskId}.json",
"parameters": [
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/task.responseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a specific task.",
"tags": [
"Tasks"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Modify the properties of an existing task.",
"operationId": "PATCH_projects_api_v3_tasks_{taskId}.json",
"parameters": [
{
"in": "body",
"name": "task.Request",
"required": true,
"schema": {
"$ref": "#/definitions/task.Request"
}
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/task.responseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing task.",
"tags": [
"Tasks"
],
"x-private": true
}
},
"/projects/api/v3/tasks/{taskId}/comments.json": {
"get": {
"operationId": "GET_projects_api_v3_tasks_{taskId}_comments.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by comment content (like v1 filterText param)",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "filter by published after date",
"format": "date",
"in": "query",
"name": "publishedStartDate",
"type": "string"
},
{
"description": "filter by published before date",
"format": "date",
"in": "query",
"name": "publishedEndDate",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "data",
"description": "order by",
"enum": [
"all",
"date",
"project",
"user",
"type"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by commment status",
"enum": [
"all",
"read",
"unread"
],
"in": "query",
"name": "commentStatus",
"type": "string"
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"default": "false",
"description": "use strict html filtering fto content",
"in": "query",
"name": "strictHTML",
"type": "boolean"
},
{
"description": "get reactions count",
"in": "query",
"name": "getReactionsCount",
"type": "boolean"
},
{
"description": "filter by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by users who got notified for the comments",
"in": "query",
"items": {
"type": "integer"
},
"name": "notifiedUserIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"reactions",
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/comment.CommentsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a list of comments for a task",
"tags": [
"TaskComments"
]
}
},
"/projects/api/v3/tasks/{taskId}/customfields.json": {
"get": {
"description": "Return all custom field values from a specific task.",
"operationId": "GET_projects_api_v3_tasks_{taskId}_customfields.json",
"parameters": [
{
"description": "filter by custom field value",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
},
{
"description": "filter by task id",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"customfields"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"description": "filter by custom field ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "customFieldIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.valuesResponseTask"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Task custom field values.",
"tags": [
"CustomFields"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Add a task custom field value.",
"operationId": "POST_projects_api_v3_tasks_{taskId}_customfields.json",
"parameters": [
{
"in": "body",
"name": "value.requestTask",
"required": true,
"schema": {
"$ref": "#/definitions/value.requestTask"
}
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/value.responseTask"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Add task custom field value.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/tasks/{taskId}/customfields/bulk/delete.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Remove many entries of task custom field values at once.",
"operationId": "POST_projects_api_v3_tasks_{taskId}_customfields_bulk_delete.json",
"parameters": [
{
"in": "body",
"name": "value.bulkDeleteRequestTask",
"required": true,
"schema": {
"$ref": "#/definitions/value.bulkDeleteRequestTask"
}
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete many task custom fields values at once.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/tasks/{taskId}/customfields/bulk/update.json": {
"post": {
"consumes": [
"application/json"
],
"description": "Edit many entries of task custom field values at once.",
"operationId": "POST_projects_api_v3_tasks_{taskId}_customfields_bulk_update.json",
"parameters": [
{
"in": "body",
"name": "value.bulkUpdateRequestTask",
"required": true,
"schema": {
"$ref": "#/definitions/value.bulkUpdateRequestTask"
}
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.valuesResponseTask"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update many task custom field values at once.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/tasks/{taskId}/customfields/{customFieldId}.json": {
"delete": {
"description": "Removes a task custom field value.",
"operationId": "DELETE_projects_api_v3_tasks_{taskId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing task custom field value.",
"tags": [
"CustomFields"
]
},
"get": {
"description": "Return a specific custom field value from a task.",
"operationId": "GET_projects_api_v3_tasks_{taskId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.responseTask"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Task custom field value.",
"tags": [
"CustomFields"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Edit a task custom field value.",
"operationId": "PATCH_projects_api_v3_tasks_{taskId}_customfields_{customFieldId}.json",
"parameters": [
{
"in": "body",
"name": "value.requestTask",
"required": true,
"schema": {
"$ref": "#/definitions/value.requestTask"
}
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
},
{
"in": "path",
"name": "customFieldId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/value.responseTask"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing task custom field value.",
"tags": [
"CustomFields"
]
}
},
"/projects/api/v3/tasks/{taskId}/subtasks.json": {
"get": {
"description": "Return multiple subtasks according to the provided filter.\n\n\nOn this endpoint you can filter by custom fields. The syntax for the\nquery parameter is the following:\n\n customField[id][op]=value\n\nWhere:\n - [id] is the custom field ID\n - [op] is the operator to apply when filtering, different operators are\n allowed according to the custom field type\n - [value] is the value to apply when filtering\n\nFor example, if I want to filter a dropdown custom field with ID 10 to only\nreturn entries that have the value \"Option1\" we would do the following:\n\n customField[10][eq]=Option1\n\nThe allowed operators are:\n - like\n - not-like\n - eq\n - not\n - lt\n - gt\n - any",
"operationId": "GET_projects_api_v3_tasks_{taskId}_subtasks.json",
"parameters": [
{
"description": "filter by updated before date",
"format": "date-time",
"in": "query",
"name": "updatedBefore",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by today",
"format": "date-time",
"in": "query",
"name": "today",
"type": "string"
},
{
"description": "filter by a taskFilter",
"enum": [
"all",
"anytime",
"completed",
"created",
"overdue",
"today",
"yesterday",
"started",
"tomorrow",
"thisweek",
"within7",
"within14",
"within30",
"within365",
"nodate",
"noduedate",
"nostartdate",
"newTaskDefaults",
"hasDate"
],
"in": "query",
"name": "taskFilter",
"type": "string"
},
{
"description": "filter on start date",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by search term",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"default": "task",
"description": "define the type of the report",
"enum": [
"plannedvsactual",
"task",
"tasktime"
],
"in": "query",
"name": "reportType",
"type": "string"
},
{
"default": "pdf",
"description": "define the format of the report",
"enum": [
"html",
"pdf"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by task priority",
"in": "query",
"name": "priority",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "duedate",
"description": "order by",
"enum": [
"startdate",
"createdat",
"priority",
"project",
"flattenedtasklist",
"company",
"manual",
"active",
"completedat",
"duestartdate",
"alldates",
"tasklistname",
"tasklistdisplayorder",
"tasklistid",
"duedate",
"updatedat",
"taskname",
"createdby",
"completedby",
"assignedto",
"taskstatus",
"taskduedate",
"customfield",
"estimatedtime",
"boardcolumn",
"taskgroupid",
"taskgroupname",
"taskgroup",
"displayorder",
"projectmanual",
"stagedisplayorder",
"stage"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "filter by projects that have not been completed before the given date",
"format": "date",
"in": "query",
"name": "notCompletedBefore",
"type": "string"
},
{
"description": "filter on end date",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"description": "filter before a due date",
"format": "date",
"in": "query",
"name": "dueBefore",
"type": "string"
},
{
"description": "filter after a due date",
"format": "date",
"in": "query",
"name": "dueAfter",
"type": "string"
},
{
"description": "filter on deleted after date",
"format": "date-time",
"in": "query",
"name": "deletedAfter",
"type": "string"
},
{
"description": "filter by created filter",
"enum": [
"anytime",
"today",
"yesterday",
"custom"
],
"in": "query",
"name": "createdFilter",
"type": "string"
},
{
"description": "filter by created date code",
"in": "query",
"name": "createdDateCode",
"type": "string"
},
{
"description": "filter by created before date",
"format": "date-time",
"in": "query",
"name": "createdBefore",
"type": "string"
},
{
"description": "filter by created after date",
"format": "date-time",
"in": "query",
"name": "createdAfter",
"type": "string"
},
{
"description": "filter by completed before date",
"format": "date-time",
"in": "query",
"name": "completedBefore",
"type": "string"
},
{
"description": "filter by completed after date",
"format": "date-time",
"in": "query",
"name": "completedAfter",
"type": "string"
},
{
"description": "filter by updated user id",
"in": "query",
"name": "updatedByUserId",
"type": "integer"
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
},
{
"description": "filter by parent task ids",
"in": "query",
"name": "parentTaskId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "order by custom field id when orderBy is equal to customfield",
"in": "query",
"name": "orderByCustomFieldId",
"type": "integer"
},
{
"description": "include task id",
"in": "query",
"name": "includeTaskId",
"type": "integer"
},
{
"description": "provide a user saved filter ID",
"in": "query",
"name": "filterId",
"type": "integer"
},
{
"description": "filter by completed user id",
"in": "query",
"name": "completedByUserId",
"type": "integer"
},
{
"default": "false",
"description": "use daterange logic from table when getting the tasks",
"in": "query",
"name": "useTaskDateRange",
"type": "boolean"
},
{
"description": "use start dates for todays tasks",
"in": "query",
"name": "useStartDatesForTodaysTasks",
"type": "boolean"
},
{
"description": "use formula fields",
"in": "query",
"name": "useFormulaFields",
"type": "boolean"
},
{
"description": "filter on all projects",
"in": "query",
"name": "useAllProjects",
"type": "boolean"
},
{
"default": "false",
"description": "sort active tasks first",
"in": "query",
"name": "sortActiveFirst",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include tasks from completed lists",
"in": "query",
"name": "showCompletedLists",
"type": "boolean"
},
{
"description": "include companies and teams in the search term",
"in": "query",
"name": "searchCompaniesTeams",
"type": "boolean"
},
{
"description": "include assignees in the search",
"in": "query",
"name": "searchAssignees",
"type": "boolean"
},
{
"description": "only untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"default": "false",
"description": "only return tasks that are unplanned. Not assigned, no due date or\nmissing estimated time.",
"in": "query",
"name": "onlyUnplanned",
"type": "boolean"
},
{
"description": "filter by only tasks with unread comments",
"in": "query",
"name": "onlyTasksWithUnreadComments",
"type": "boolean"
},
{
"description": "filter by only tasks with tickets",
"in": "query",
"name": "onlyTasksWithTickets",
"type": "boolean"
},
{
"description": "only return tasks with estimated time",
"in": "query",
"name": "onlyTasksWithEstimatedTime",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "only include tasks from projects where the user is strictly a project admin.\nsite admins have visibility to all projects.",
"in": "query",
"name": "onlyAdminProjects",
"type": "boolean"
},
{
"description": "nest sub tasks",
"in": "query",
"name": "nestSubTasks",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "match all exclude tags",
"in": "query",
"name": "matchAllExcludedTags",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include tasks latest update action",
"in": "query",
"name": "includeUpdate",
"type": "boolean"
},
{
"description": "include untagged tasks",
"in": "query",
"name": "includeUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by include tomorrow",
"in": "query",
"name": "includeTomorrow",
"type": "boolean"
},
{
"description": "filter by include today",
"in": "query",
"name": "includeToday",
"type": "boolean"
},
{
"description": "include members of the given teams",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without due dates",
"in": "query",
"name": "includeTasksWithoutDueDates",
"type": "boolean"
},
{
"default": "true",
"description": "include tasks with cards",
"in": "query",
"name": "includeTasksWithCards",
"type": "boolean"
},
{
"description": "include tasks from deleted lists",
"in": "query",
"name": "includeTasksFromDeletedLists",
"type": "boolean"
},
{
"default": "false",
"description": "include total count of tasks for given filter",
"in": "query",
"name": "includeTasksCount",
"type": "boolean"
},
{
"description": "include ids of active subtasks, dependencies, predecessors",
"in": "query",
"name": "includeRelatedTasks",
"type": "boolean"
},
{
"description": "include private items",
"in": "query",
"name": "includePrivateItems",
"type": "boolean"
},
{
"description": "include overdue tasks",
"in": "query",
"name": "includeOverdueTasks",
"type": "boolean"
},
{
"description": "include original due date of a task",
"in": "query",
"name": "includeOriginalDueDate",
"type": "boolean"
},
{
"default": "false",
"description": "include custom fields",
"in": "query",
"name": "includeCustomFields",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"description": "include ids of completed predecessors. It must be provided with\nincludeRelatedTasks flag or with the predecessors sideload.",
"in": "query",
"name": "includeCompletedPredecessors",
"type": "boolean"
},
{
"description": "include members of the given companies",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each task",
"in": "query",
"name": "includeCommentStats",
"type": "boolean"
},
{
"description": "filter by include blocked",
"in": "query",
"name": "includeBlocked",
"type": "boolean"
},
{
"default": "false",
"description": "include number of unread and read comments for each file attachment",
"in": "query",
"name": "includeAttachmentCommentStats",
"type": "boolean"
},
{
"description": "include teams related to the responsible user ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible user ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "include all comments",
"in": "query",
"name": "includeAllComments",
"type": "boolean"
},
{
"description": "group by tasklist",
"in": "query",
"name": "groupByTasklist",
"type": "boolean"
},
{
"description": "group by taskgroup",
"in": "query",
"name": "groupByTaskgroup",
"type": "boolean"
},
{
"description": "get sub tasks",
"in": "query",
"name": "getSubTasks",
"type": "boolean"
},
{
"description": "get files",
"in": "query",
"name": "getFiles",
"type": "boolean"
},
{
"description": "set due date as milestone due date if due date is null and there's a related milestone",
"in": "query",
"name": "fallbackToMilestoneDueDate",
"type": "boolean"
},
{
"description": "For tasks created in a project template it's possible to assign a role instead of people, companies or teams.\nThis role is then stored with the task name as a prefix. When this flag is enabled it will extract the role name\nand return it inside a special field.",
"in": "query",
"name": "extractTemplateRoleName",
"type": "boolean"
},
{
"description": "exclude assignee not on project teams",
"in": "query",
"name": "excludeAssigneeNotOnProjectTeams",
"type": "boolean"
},
{
"default": "false",
"description": "only completed tasks",
"in": "query",
"name": "completedOnly",
"type": "boolean"
},
{
"description": "check if task has reminders",
"in": "query",
"name": "checkForReminders",
"type": "boolean"
},
{
"default": "true",
"description": "when filtering by assigned or unassagned tasks, include assignees that\nare not in the project.",
"in": "query",
"name": "allowAssigneesOutsideProject",
"type": "boolean"
},
{
"description": "customise the report by selecting columns to be displayed for tasks report",
"in": "query",
"items": {
"type": "string"
},
"name": "tasksSelectedColumns",
"type": "array"
},
{
"description": "filter by tasklist ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tasklistIds",
"type": "array"
},
{
"description": "filter by taskgroup ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskgroupIds",
"type": "array"
},
{
"description": "filter by task included set",
"in": "query",
"items": {
"enum": [
"overdue",
"nodate",
"nostartdate",
"noduedate",
"nostartwithfutureduedate",
"taskListNames",
"projectNames"
],
"type": "string"
},
"name": "taskIncludedSet",
"type": "array"
},
{
"description": "filter by tag values",
"in": "query",
"items": {
"type": "string"
},
"name": "tags",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by list of task status",
"in": "query",
"items": {
"enum": [
"upcoming",
"late",
"all"
],
"type": "string"
},
"name": "status",
"type": "array"
},
{
"description": "skip crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "skipCRMDealIds",
"type": "array"
},
{
"description": "customise the report by selecting columns to be displayed for planned vs actual.",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project status",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by projects that have features enabled",
"in": "query",
"items": {
"enum": [
"list",
"board",
"gantt",
"table",
"dashboard",
"milestones",
"messages",
"files",
"time",
"notebooks",
"risks",
"links",
"billing",
"comments",
"people",
"settings"
],
"type": "string"
},
"name": "projectFeaturesEnabled",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include specific custom fields",
"in": "query",
"items": {
"type": "integer"
},
"name": "includeCustomFieldIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"tasklists",
"parentTasks",
"companies",
"teams",
"users",
"milestones",
"comments",
"comments.users",
"tags",
"cards",
"cards.columns",
"timeTotals",
"taskSequences",
"commentFollowers",
"changeFollowers",
"lockdowns",
"lockdowns.users",
"lockdowns.companies",
"lockdowns.teams",
"lockdowns.users.companies",
"lockdowns.companies.users",
"lockdowns.teams.users",
"attachments",
"attachments.users",
"subtaskStats",
"timers",
"predecessors",
"permissions"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"description": "filter by followed by user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "followedByUserIds",
"type": "array"
},
{
"description": "filter by board column ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "filterBoardColumnIds",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"teamLogo",
"teamLogoIcon",
"teamLogoColor"
],
"type": "string"
},
"name": "fields[teams]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"displayOrder",
"projectId",
"status"
],
"type": "string"
},
"name": "fields[taskgroups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"installationId",
"frequency",
"selectedWeekDays",
"endDate",
"monthlyRepeatType",
"duration",
"rrule"
],
"type": "string"
},
"name": "fields[taskSequences]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userID",
"updatedAt",
"itemType",
"itemID",
"grantAccessTo"
],
"type": "string"
},
"name": "fields[lockdowns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"late",
"today",
"tomorrow",
"later-this-week",
"next-week",
"later",
"no-due-date"
],
"type": "string"
},
"name": "fields[groups]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"isPrivate",
"latestFileVersionNo",
"versionId",
"status",
"description",
"lockdownId",
"tagIds",
"changeFollowers",
"commentFollowers",
"originalName",
"displayName",
"isLocked",
"lockedByUserId",
"lockedDate",
"size",
"uploadedDate",
"uploadedByUserID",
"updatedAt",
"deletedAt",
"deletedBy",
"fileSource",
"projectId",
"numLikes",
"reactions",
"versions",
"downloadURL",
"previewURL",
"thumbURL",
"relatedItems",
"commentsCount",
"commentsCountRead",
"categoryId"
],
"type": "string"
},
"name": "fields[files]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"projectId",
"entity",
"name",
"description",
"type",
"options",
"visibilities",
"isPrivate",
"required",
"createdAt",
"createdByUserId",
"updatedAt",
"updatedByUserId",
"deleted",
"deletedAt",
"deletedByUserId"
],
"type": "string"
},
"name": "fields[customfields]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"customfieldId",
"value",
"createdAt",
"createdBy"
],
"type": "string"
},
"name": "fields[customfieldTasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"title"
],
"type": "string"
},
"name": "fields[comments]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"displayOrder",
"createdAt",
"updatedAt",
"settings",
"sort",
"sortOrder",
"deletedAt",
"project",
"hasTriggers",
"deleted",
"stats",
"defaultTasklist"
],
"type": "string"
},
"name": "fields[columns]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"displayOrder",
"archived",
"archivedAt",
"archivedBy",
"createdAt",
"createBy",
"updatedAt",
"visible",
"status",
"deleteBy",
"deletedAt"
],
"type": "string"
},
"name": "fields[cards]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"viewMessagesAndFiles",
"viewTasksAndMilestones",
"viewTime",
"viewNotebooks",
"viewRiskRegister",
"viewEstimatedTime",
"viewInvoices",
"addTasks",
"addRisks",
"manageCustomFields",
"addExpenses",
"editAllTasks",
"addMilestones",
"addTaskLists",
"addMessages",
"addFiles",
"addTime",
"addNotebooks",
"viewLinks",
"addLinks",
"canViewForms",
"addForms",
"viewAllTimeLogs",
"setPrivacy",
"projectAdministrator",
"viewProjectUpdate",
"addProjectUpdate",
"canViewProjectMembers",
"canViewProjectBudget",
"canManageProjectBudget",
"canViewRates",
"canManageRates",
"canViewSchedule",
"canManageSchedule",
"receiveEmailNotifications",
"isObserving",
"isArchived",
"active",
"canAccess",
"inOwnerCompany",
"canManagePeople",
"canViewProjectTemplates",
"canManageProjectTemplates"
],
"type": "string"
},
"name": "fields[ProjectPermissions]",
"type": "array"
},
{
"description": "the ids of the expanded tasks",
"in": "query",
"items": {
"type": "integer"
},
"name": "expandedIds",
"type": "array"
},
{
"description": "filter by excluded tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by crm deal ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "crmDealIds",
"type": "array"
},
{
"description": "filter by creator user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "createdByUserIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
},
{
"description": "filter by custom fields",
"in": "query",
"items": {
"type": "string"
},
"name": "CustomFields",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/task.tasksResponseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all subtasks for a specific task.",
"tags": [
"Tasks"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Create a new subtask under the provided parent task.",
"operationId": "POST_projects_api_v3_tasks_{taskId}_subtasks.json",
"parameters": [
{
"in": "body",
"name": "task.Request",
"required": true,
"schema": {
"$ref": "#/definitions/task.Request"
}
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/task.responseV205"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Creates a subtask.",
"tags": [
"Tasks"
],
"x-private": true
}
},
"/projects/api/v3/tasks/{taskId}/time.json": {
"get": {
"description": "Return logged time entries for a specific task. Only the time entries that\nthe logged-in user can access will be returned.",
"operationId": "GET_projects_api_v3_tasks_{taskId}_time.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by a starting date",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "sort order",
"enum": [
"company",
"date",
"dateupdated",
"project",
"task",
"tasklist",
"user",
"description",
"billed",
"billable",
"timespent"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"non-billable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by the user who updated the timelog",
"in": "query",
"name": "updatedBy",
"type": "integer"
},
{
"description": "filter by ticket id",
"in": "query",
"name": "ticketId",
"type": "integer"
},
{
"description": "filter by tasklist id",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
},
{
"description": "filter by task id (deprecated, use taskIds)",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"description": "filter by project id (deprecated, use projectIds)",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by invoice id",
"in": "query",
"name": "invoiceId",
"type": "integer"
},
{
"description": "filter by budget id",
"in": "query",
"name": "budgetId",
"type": "integer"
},
{
"description": "filter by allocation id",
"in": "query",
"name": "allocationId",
"type": "integer"
},
{
"description": "use fallback method, where timelogs on deleted tasks and tasklist\nwill fall back to the parent project.",
"in": "query",
"name": "useFallbackMethod",
"type": "boolean"
},
{
"description": "filter by timelogs that are directly logged against projects and not its child tasks",
"in": "query",
"name": "unattachedTimelogs",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "used to return the cost rate and total",
"in": "query",
"name": "returnCostInfo",
"type": "boolean"
},
{
"description": "used to return the billable rate and total",
"in": "query",
"name": "returnBillableInfo",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all task tags",
"in": "query",
"name": "matchAllTaskTags",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "include totals",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "false",
"description": "include permissions",
"in": "query",
"name": "includePermissions",
"type": "boolean"
},
{
"default": "false",
"description": "include descendants",
"in": "query",
"name": "includeDescendants",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by task tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskTagIds",
"type": "array"
},
{
"description": "filter by task statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "taskStatuses",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project company ids (deprecated, use projectCompanyIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectsFromCompanyId",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids\nset to 0 to filter by projects without a category",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"tags",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"tasks.users",
"users",
"project.billing",
"project.billing.currencies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateCreated",
"minutes",
"description",
"timeLogged",
"billable",
"deleted",
"dateDeleted",
"hasStartTime",
"dateEdited",
"deskTicketId",
"userId",
"taskId",
"projectId",
"loggedByUserId",
"deletedByUserId",
"editedByUserId",
"taskIdPreMove",
"projectBillingInvoiceId"
],
"type": "string"
},
"name": "fields[timelogs]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedTeamIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.TimelogsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get time entries for a specific task",
"tags": [
"TimeTracking"
]
},
"post": {
"consumes": [
"application/json"
],
"description": "Create a time entry linked to the desired task.",
"operationId": "POST_projects_api_v3_tasks_{taskId}_time.json",
"parameters": [
{
"in": "body",
"name": "timelog.Request",
"required": true,
"schema": {
"$ref": "#/definitions/timelog.Request"
}
},
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "201 Created",
"schema": {
"$ref": "#/definitions/timelog.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Create a time entry linked to a specific task.",
"tags": [
"TimeTracking"
],
"x-private": true
}
},
"/projects/api/v3/tasks/{taskId}/time/total.json": {
"get": {
"operationId": "GET_projects_api_v3_tasks_{taskId}_time_total.json",
"parameters": [
{
"in": "path",
"name": "taskId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.TotalsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get timelog totals for a specific task.",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/teams/{teamId}/statuses/timeline.json": {
"get": {
"description": "Return people statuses from a specific team that the logged-in user can\naccess.",
"operationId": "GET_projects_api_v3_teams_{teamId}_statuses_timeline.json",
"parameters": [
{
"description": "filter by the user name or status message",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"in": "path",
"name": "teamId",
"required": true,
"type": "integer"
},
{
"description": "filter by team",
"in": "query",
"name": "teamId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "showDeleted statuses",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "also include statuses from subteams",
"in": "query",
"name": "includeSubteams",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"userevents"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/status.TimelineResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get statuses timeline for a specific team",
"tags": [
"PeopleStatus"
]
}
},
"/projects/api/v3/time.json": {
"get": {
"description": "Return all logged time entries for all projects. Only the time entries that\nthe logged-in user can access will be returned.",
"operationId": "GET_projects_api_v3_time.json",
"parameters": [
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by a starting date",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "define the format of the report",
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "date",
"description": "sort order",
"enum": [
"company",
"date",
"dateupdated",
"project",
"task",
"tasklist",
"user",
"description",
"billed",
"billable",
"timespent"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"non-billable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by the user who updated the timelog",
"in": "query",
"name": "updatedBy",
"type": "integer"
},
{
"description": "filter by ticket id",
"in": "query",
"name": "ticketId",
"type": "integer"
},
{
"description": "filter by tasklist id",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"description": "filter by task id (deprecated, use taskIds)",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"description": "filter by project id (deprecated, use projectIds)",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "filter by invoice id",
"in": "query",
"name": "invoiceId",
"type": "integer"
},
{
"description": "filter by budget id",
"in": "query",
"name": "budgetId",
"type": "integer"
},
{
"description": "filter by allocation id",
"in": "query",
"name": "allocationId",
"type": "integer"
},
{
"description": "use fallback method, where timelogs on deleted tasks and tasklist\nwill fall back to the parent project.",
"in": "query",
"name": "useFallbackMethod",
"type": "boolean"
},
{
"description": "filter by timelogs that are directly logged against projects and not its child tasks",
"in": "query",
"name": "unattachedTimelogs",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "used to return the cost rate and total",
"in": "query",
"name": "returnCostInfo",
"type": "boolean"
},
{
"description": "used to return the billable rate and total",
"in": "query",
"name": "returnBillableInfo",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all task tags",
"in": "query",
"name": "matchAllTaskTags",
"type": "boolean"
},
{
"description": "match all tags",
"in": "query",
"name": "matchAllTags",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "generate a report document",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"default": "false",
"description": "include totals",
"in": "query",
"name": "includeTotals",
"type": "boolean"
},
{
"default": "false",
"description": "include permissions",
"in": "query",
"name": "includePermissions",
"type": "boolean"
},
{
"default": "false",
"description": "include descendants",
"in": "query",
"name": "includeDescendants",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by task tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskTagIds",
"type": "array"
},
{
"description": "filter by task statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "taskStatuses",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "customise the report by selecting columns",
"in": "query",
"items": {
"type": "string"
},
"name": "selectedColumns",
"type": "array"
},
{
"description": "filter by project company ids (deprecated, use projectCompanyIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectsFromCompanyId",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids\nset to 0 to filter by projects without a category",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"projects.companies",
"projects.categories",
"projects.permissions",
"tags",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"tasks.users",
"users",
"project.billing",
"project.billing.currencies"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"description": "filter by ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "ids",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateCreated",
"minutes",
"description",
"timeLogged",
"billable",
"deleted",
"dateDeleted",
"hasStartTime",
"dateEdited",
"deskTicketId",
"userId",
"taskId",
"projectId",
"loggedByUserId",
"deletedByUserId",
"editedByUserId",
"taskIdPreMove",
"projectBillingInvoiceId"
],
"type": "string"
},
"name": "fields[timelogs]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count"
],
"type": "string"
},
"name": "fields[tags]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"color",
"count",
"parent",
"parentId"
],
"type": "string"
},
"name": "fields[projectcategories]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedTeamIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.TimelogsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all time entries",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/time/total.json": {
"get": {
"operationId": "GET_projects_api_v3_time_total.json",
"parameters": [
{
"description": "filter by updated after",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by a starting date",
"format": "date-time",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by project status",
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date",
"format": "date-time",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"non-billable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by user id (deprecated, use assignedToUserIds)",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"description": "filter by tasklist id",
"in": "query",
"name": "tasklistId",
"type": "integer"
},
{
"description": "filter by task id (deprecated, use taskIds)",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"description": "filter by desk ticket id",
"in": "query",
"name": "deskTicketId",
"type": "integer"
},
{
"description": "used to return the cost rate and total",
"in": "query",
"name": "returnCostInfo",
"type": "boolean"
},
{
"description": "used to return the billable rate and total",
"in": "query",
"name": "returnBillableInfo",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "match all project tags",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"description": "get subtask totals",
"in": "query",
"name": "includeDescendants",
"type": "boolean"
},
{
"default": "false",
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "filter by user ids (deprecated, use assignedToUserIds)",
"in": "query",
"items": {
"type": "integer"
},
"name": "userIds",
"type": "array"
},
{
"description": "filter by task statuses",
"in": "query",
"items": {
"type": "string"
},
"name": "taskStatuses",
"type": "array"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by timelog tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"default": "all",
"description": "filter by sub-task status, includeDescendants must be set to true\nfor this to have any effect",
"in": "query",
"items": {
"enum": [
"all",
"completed",
"incomplete"
],
"type": "string"
},
"name": "subTaskStatuses",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"active",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project healths\n\n0: not set\n1: bad\n2: ok\n3: good",
"in": "query",
"items": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by project company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids\nset to 0 to filter by projects without a category",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
},
{
"description": "filter by assigned user ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToUserIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToTeamIds",
"type": "array"
},
{
"description": "filter by assigned company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedToCompanyIds",
"type": "array"
},
{
"description": "filter by assigned team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assignedTeamIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.TotalsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get timelog totals.",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/time/{timelogId}.json": {
"delete": {
"description": "Delete a timelog.",
"operationId": "DELETE_projects_api_v3_time_{timelogId}.json",
"parameters": [
{
"in": "path",
"name": "timelogId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"204": {
"description": "204 No Content (no data)"
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Delete an existing timelog.",
"tags": [
"TimeTracking"
],
"x-private": true
},
"get": {
"operationId": "GET_projects_api_v3_time_{timelogId}.json",
"parameters": [
{
"in": "path",
"name": "timelogId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a specific time entry",
"tags": [
"TimeTracking"
]
},
"patch": {
"consumes": [
"application/json"
],
"description": "Modify the properties of an existing time entry.",
"operationId": "PATCH_projects_api_v3_time_{timelogId}.json",
"parameters": [
{
"in": "body",
"name": "timelog.Request",
"required": true,
"schema": {
"$ref": "#/definitions/timelog.Request"
}
},
{
"in": "path",
"name": "timelogId",
"required": true,
"type": "integer"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timelog.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"403": {
"description": "403 Forbidden",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
},
"409": {
"description": "409 Conflict",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Update an existing time entry.",
"tags": [
"TimeTracking"
],
"x-private": true
}
},
"/projects/api/v3/timers.json": {
"get": {
"description": "Brings back all current running timers. Will return a set of existing intervals for each timer.\nIf the timer has never been stopped then this interval will only have a from property set and\nthe you will need to calculate the current duration of the timer.",
"operationId": "GET_projects_api_v3_timers.json",
"parameters": [
{
"description": "filter by updated after date (deprecated, use updatedAfter)",
"format": "date-time",
"in": "query",
"name": "updatedAfterDate",
"type": "string"
},
{
"description": "filter by updated after date",
"format": "date-time",
"in": "query",
"name": "updatedAfter",
"type": "string"
},
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"description": "filter by task id",
"in": "query",
"name": "taskId",
"type": "integer"
},
{
"description": "filter by project id",
"in": "query",
"name": "projectId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include deleted items",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"default": "false",
"description": "enforce running timers only",
"in": "query",
"name": "runningTimersOnly",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timer.TimersResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get all running timers",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/timers/{timerId}.json": {
"get": {
"description": "Will get a timer with with a specific ID.",
"operationId": "GET_projects_api_v3_timers_{timerId}.json",
"parameters": [
{
"description": "filter by user id",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"in": "path",
"name": "timerId",
"required": true,
"type": "integer"
},
{
"description": "filter by task id",
"in": "query",
"name": "showDeleted",
"type": "boolean"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"projects",
"tasks",
"tasks.parentTasks",
"tasks.tasklists",
"users"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"userId",
"taskId",
"projectId",
"description",
"running",
"billable",
"deleted",
"dateCreated",
"dateDeleted",
"duration",
"lastStartedAt",
"serverTime",
"intervals"
],
"type": "string"
},
"name": "fields[timers]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name"
],
"type": "string"
},
"name": "fields[projects]",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timer.Response"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
},
"404": {
"description": "404 Not Found (no data)"
}
},
"summary": "Get a specific timer",
"tags": [
"TimeTracking"
]
}
},
"/projects/api/v3/timesheets.json": {
"get": {
"description": "Return a list of timesheet rows for the given user depending on param options.",
"operationId": "GET_projects_api_v3_timesheets.json",
"parameters": [
{
"in": "query",
"name": "weekDate",
"type": "string"
},
{
"default": "all",
"description": "filter by task status",
"enum": [
"all",
"completed",
"incomplete"
],
"in": "query",
"name": "taskStatus",
"type": "string"
},
{
"description": "filter by a starting date, will default to the start of users work week.",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by tasks/projects/company names",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "define the format of the report",
"enum": [
"pdf",
"xlsx",
"csv",
"html"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "dueDate",
"description": "order by",
"enum": [
"project",
"company",
"duedate",
"timelogrecency"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date, will default to the end of users work week.",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"nonbillable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by user id, will default to session user",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "filter by starred projects",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include users unavailable times field.",
"in": "query",
"name": "includeUnavailableTimes",
"type": "boolean"
},
{
"description": "includes a breakdown of the totals",
"in": "query",
"name": "includeBreakdown",
"type": "boolean"
},
{
"description": "filter by tasks and projects that have time logged",
"in": "query",
"name": "hasTimeLogged",
"type": "boolean"
},
{
"description": "also include tasks that are assigned to teams",
"in": "query",
"name": "assignedToTeams",
"type": "boolean"
},
{
"description": "also include tasks that are assigned to me",
"in": "query",
"name": "assignedToMe",
"type": "boolean"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"default": "all",
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"all",
"active",
"inactive",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"timelogs",
"tasks",
"tasks.tasklist",
"tasks.users",
"tasks.parentTasks",
"projects",
"projects.permissions",
"timesheetsCustomRows",
"unavailableTimes",
"calendarEventTypes"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"default": "empty",
"description": "exclude by time frames",
"in": "query",
"items": {
"enum": [
"due-this-week",
"starting-this-week",
"no-due-date",
"no-start-date",
"created-this-week",
"completed-this-week"
],
"type": "string"
},
"name": "excludeTimeframes",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timesheet.MyTimesheetsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get list of timesheet rows",
"tags": [
"Timesheets"
]
}
},
"/projects/api/v3/timesheets/totals.json": {
"get": {
"description": "Get the daily totals counts for all the user's timesheets.",
"operationId": "GET_projects_api_v3_timesheets_totals.json",
"parameters": [
{
"in": "query",
"name": "weekDate",
"type": "string"
},
{
"default": "all",
"description": "filter by task status",
"enum": [
"all",
"completed",
"incomplete"
],
"in": "query",
"name": "taskStatus",
"type": "string"
},
{
"description": "filter by a starting date, will default to the start of users work week.",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by tasks/projects/company names",
"in": "query",
"name": "searchTerm",
"type": "string"
},
{
"description": "define the format of the report",
"enum": [
"pdf",
"xlsx",
"csv",
"html"
],
"in": "query",
"name": "reportFormat",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "dueDate",
"description": "order by",
"enum": [
"project",
"company",
"duedate",
"timelogrecency"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"default": "all",
"description": "filter by invoiced type",
"enum": [
"all",
"invoiced",
"noninvoiced"
],
"in": "query",
"name": "invoicedType",
"type": "string"
},
{
"description": "filter by an ending date, will default to the end of users work week.",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "all",
"description": "filter by billable type",
"enum": [
"all",
"billable",
"nonbillable"
],
"in": "query",
"name": "billableType",
"type": "string"
},
{
"description": "filter by user id, will default to session user",
"in": "query",
"name": "userId",
"type": "integer"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"description": "filter by starred projects",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"default": "false",
"description": "generate a report export.",
"in": "query",
"name": "isReportDownload",
"type": "boolean"
},
{
"description": "include users unavailable times field.",
"in": "query",
"name": "includeUnavailableTimes",
"type": "boolean"
},
{
"description": "includes a breakdown of the totals",
"in": "query",
"name": "includeBreakdown",
"type": "boolean"
},
{
"description": "filter by tasks and projects that have time logged",
"in": "query",
"name": "hasTimeLogged",
"type": "boolean"
},
{
"description": "also include tasks that are assigned to teams",
"in": "query",
"name": "assignedToTeams",
"type": "boolean"
},
{
"description": "also include tasks that are assigned to me",
"in": "query",
"name": "assignedToMe",
"type": "boolean"
},
{
"description": "filter by task ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "taskIds",
"type": "array"
},
{
"description": "filter by tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"default": "all",
"description": "filter by project statuses",
"in": "query",
"items": {
"enum": [
"all",
"active",
"inactive",
"current",
"late",
"upcoming",
"completed",
"deleted"
],
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"timelogs",
"tasks",
"tasks.tasklist",
"tasks.users",
"tasks.parentTasks",
"projects",
"projects.permissions",
"timesheetsCustomRows",
"unavailableTimes",
"calendarEventTypes"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"default": "empty",
"description": "exclude by time frames",
"in": "query",
"items": {
"enum": [
"due-this-week",
"starting-this-week",
"no-due-date",
"no-start-date",
"created-this-week",
"completed-this-week"
],
"type": "string"
},
"name": "excludeTimeframes",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/timesheet.MyTimesheetsTotalsResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Get the totals for the all the user's timesheets.",
"tags": [
"Timesheets"
]
}
},
"/projects/api/v3/workload/planners.json": {
"get": {
"description": "Return the workload planner for each users of the installation.",
"operationId": "GET_projects_api_v3_workload_planners.json",
"parameters": [
{
"description": "define the start date of the planner",
"format": "date",
"in": "query",
"name": "startDate",
"type": "string"
},
{
"description": "filter by user name",
"in": "query",
"name": "searchUserName",
"type": "string"
},
{
"description": "filter by task name",
"in": "query",
"name": "searchTaskName",
"type": "string"
},
{
"description": "filter by project status",
"in": "query",
"name": "projectStatus",
"type": "string"
},
{
"default": "asc",
"description": "order mode",
"enum": [
"asc",
"desc"
],
"in": "query",
"name": "orderMode",
"type": "string"
},
{
"default": "name",
"description": "order by",
"enum": [
"name",
"company"
],
"in": "query",
"name": "orderBy",
"type": "string"
},
{
"description": "define the end date of the planner",
"format": "date",
"in": "query",
"name": "endDate",
"type": "string"
},
{
"default": "50",
"description": "number of items in a page",
"in": "query",
"name": "pageSize",
"type": "integer"
},
{
"default": "1",
"description": "page number",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "subtract logged time from task estimated time",
"in": "query",
"name": "subtractLoggedTimeFromEstimates",
"type": "boolean"
},
{
"description": "SkipCounts allows you to skip doing counts on a list API endpoint for\nperformance reasons.",
"in": "query",
"name": "skipCounts",
"type": "boolean"
},
{
"default": "false",
"description": "include tasks that have the start and due dates outside the window range",
"in": "query",
"name": "prorating",
"type": "boolean"
},
{
"description": "filter ony untagged tasks",
"in": "query",
"name": "onlyUntaggedTasks",
"type": "boolean"
},
{
"description": "filter by starred projects only",
"in": "query",
"name": "onlyStarredProjects",
"type": "boolean"
},
{
"description": "enforce all tag ids must be matched",
"in": "query",
"name": "matchAllProjectTags",
"type": "boolean"
},
{
"default": "true",
"description": "include team users to the responsible party ids",
"in": "query",
"name": "includeTeamUserIds",
"type": "boolean"
},
{
"description": "include tasks without start and due date",
"in": "query",
"name": "includeTasksWithoutDates",
"type": "boolean"
},
{
"description": "include completed tasks",
"in": "query",
"name": "includeCompletedTasks",
"type": "boolean"
},
{
"default": "true",
"description": "include company users to the responsible party ids",
"in": "query",
"name": "includeCompanyUserIds",
"type": "boolean"
},
{
"description": "include calendar events on capacity calculation",
"in": "query",
"name": "includeCalendarEvents",
"type": "boolean"
},
{
"description": "include teams related to the responsible party ids",
"in": "query",
"name": "includeAssigneeTeams",
"type": "boolean"
},
{
"description": "include companies related to the responsible party ids",
"in": "query",
"name": "includeAssigneeCompanies",
"type": "boolean"
},
{
"description": "include archived projects",
"in": "query",
"name": "includeArchivedProjects",
"type": "boolean"
},
{
"description": "distribute the estimated time for a task between all the assignees",
"in": "query",
"name": "distribute",
"type": "boolean"
},
{
"description": "filter by member of team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "teamIds",
"type": "array"
},
{
"description": "filter by task tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "tagIds",
"type": "array"
},
{
"description": "filter by responsible party ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "responsiblePartyIds",
"type": "array"
},
{
"description": "filter by project tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectTagIds",
"type": "array"
},
{
"description": "list of project status",
"in": "query",
"items": {
"type": "string"
},
"name": "projectStatuses",
"type": "array"
},
{
"description": "filter by project owner ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectOwnerIds",
"type": "array"
},
{
"description": "filter by project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectIds",
"type": "array"
},
{
"description": "list of project health",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectHealths",
"type": "array"
},
{
"description": "filter by company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCompanyIds",
"type": "array"
},
{
"description": "filter by project category ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "projectCategoryIds",
"type": "array"
},
{
"description": "filter by member of project ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "memberOfProjectIds",
"type": "array"
},
{
"description": "include",
"in": "query",
"items": {
"enum": [
"users",
"users.workingHours",
"users.workingHours.workingHoursEntry",
"tasks",
"tasks.timelogs",
"tasklists",
"milestones",
"companies",
"calendarEvents"
],
"type": "string"
},
"name": "include",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"objectType",
"objectId",
"name",
"description",
"dateCreated",
"dateUpdated",
"entryIds"
],
"type": "string"
},
"name": "fields[workingHours]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"workingHourId",
"weekday",
"startTime",
"endTime",
"taskHours",
"timezone"
],
"type": "string"
},
"name": "fields[workingHourEntries]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"firstName",
"lastName",
"title",
"email",
"companyId",
"company",
"isAdmin",
"isClientUser",
"isServiceAccount",
"type",
"deleted",
"avatarUrl",
"lengthOfDay",
"workingHoursId",
"workingHour",
"userRate",
"userCost",
"canAddProjects"
],
"type": "string"
},
"name": "fields[users]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"dateCreated",
"minutes",
"description",
"timeLogged",
"billable",
"deleted",
"dateDeleted",
"hasStartTime",
"dateEdited",
"deskTicketId",
"userId",
"taskId",
"projectId",
"loggedByUserId",
"deletedByUserId",
"editedByUserId",
"taskIdPreMove",
"projectBillingInvoiceId"
],
"type": "string"
},
"name": "fields[timelogs]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"dateUpdated",
"parentTaskId",
"isPrivate",
"status",
"tasklistId",
"startDate",
"dueDate"
],
"type": "string"
},
"name": "fields[tasks]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"projectId",
"milestoneId"
],
"type": "string"
},
"name": "fields[tasklists]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"description",
"deadline",
"completed",
"projectId",
"createdOn",
"lastChangedOn",
"creatorUserId",
"reminder",
"private",
"lockdownId",
"status",
"completedOn",
"completerId",
"percentageComplete"
],
"type": "string"
},
"name": "fields[milestones]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"name",
"logoUploadedToServer",
"logoImage"
],
"type": "string"
},
"name": "fields[companies]",
"type": "array"
},
{
"in": "query",
"items": {
"enum": [
"id",
"title",
"startDate",
"endDate",
"typeId",
"privacyType",
"allDay",
"location",
"description",
"showAsBusy",
"attendeesCanEdit",
"projectUsersCanEdit",
"monthlyRepeatType",
"dateLastUpdated",
"createdDateTime",
"deleted",
"dateDeleted",
"additionalProperties",
"currentUserAssociationType",
"sequenceId",
"projectId",
"ownerUserId",
"deletedByUserId",
"createdByUserId",
"updatedByUserId"
],
"type": "string"
},
"name": "fields[calendarEvents]",
"type": "array"
},
{
"description": "filter by removing task tag ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "excludeTagIds",
"type": "array"
},
{
"description": "filter by user company id",
"in": "query",
"items": {
"type": "integer"
},
"name": "companyIds",
"type": "array"
},
{
"description": "filter by assignee team ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeTeamIds",
"type": "array"
},
{
"description": "filter by assignee company ids",
"in": "query",
"items": {
"type": "integer"
},
"name": "assigneeCompanyIds",
"type": "array"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "200 OK",
"schema": {
"$ref": "#/definitions/planner.WorkloadPlannersResponse"
}
},
"400": {
"description": "400 Bad Request",
"schema": {
"$ref": "#/definitions/view.ErrorResponse"
}
}
},
"summary": "Retrieve user workload planner",
"tags": [
"Workload"
]
}
}
},
"produces": [
"application/json"
],
"swagger": "2.0",
"tags": [
{
"name": "Activity"
},
{
"name": "TimeTracking"
},
{
"name": "Budgets"
},
{
"name": "CalendarEvents"
},
{
"name": "Companies"
},
{
"name": "BETA"
},
{
"name": "CustomFields"
},
{
"name": "Dashboards"
},
{
"name": "Features"
},
{
"name": "FileComments"
},
{
"name": "FileVersionComments"
},
{
"name": "Forms"
},
{
"name": "FormsPublic"
},
{
"name": "Importers"
},
{
"name": "Messages"
},
{
"name": "Milestones"
},
{
"name": "MilestoneComments"
},
{
"name": "Notebooks"
},
{
"name": "NotebookComments"
},
{
"name": "People"
},
{
"name": "Person"
},
{
"name": "Categories"
},
{
"name": "Projects"
},
{
"name": "Risks"
},
{
"name": "Summary"
},
{
"name": "TaskLists"
},
{
"name": "Tasks"
},
{
"name": "ProjectUpdates"
},
{
"name": "PeopleStatus"
},
{
"name": "Tags"
},
{
"name": "Tasklists"
},
{
"name": "TaskComments"
},
{
"name": "Timesheets"
},
{
"name": "Workload"
}
]
}