Teamwork

Project management and collaboration platform

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

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

Get API Key

Server URLs

https://{site_name}.teamwork.com

Endpoints

Clear filters

Budgets 1 endpoints

POST /projects/api/v3/budgets/:id/tasklists/budgets/bulk/add.json
operationId: Budgets_createTasklistBudgets

Request Body

{
  "$ref": "#/components/requestBodies/tasklistbudget.BulkAddBudgetRequest"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
409 409 Conflict
POST /projects/api/v3/budgets/:id/tasklists/budgets/bulk/add.json

Companies 1 endpoints

POST /projects/api/v3/companies.json

Create a company.

operationId: Companies_createNewCompany

Request Body

{
  "$ref": "#/components/requestBodies/company.Request"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/companies.json

Customfields 11 endpoints

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

Add a company custom field value.

operationId: CustomFields_addValue

Parameters

Name In Required Type Description
companyId path required integer

Request Body

{
  "$ref": "#/components/requestBodies/value.requestCompany"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/companies/{companyId}/customfields.json
POST /projects/api/v3/companies/{companyId}/customfields/bulk/delete.json

Remove many entries of company custom field values at once.

operationId: CustomFields_bulkDelete

Parameters

Name In Required Type Description
companyId path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/value.bulkDeleteRequestCompany"
      }
    }
  },
  "required": true
}

Responses

204 204 No Content (no data)
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
POST /projects/api/v3/companies/{companyId}/customfields/bulk/delete.json
POST /projects/api/v3/companies/{companyId}/customfields/bulk/update.json

Edit many entries of company custom field values at once.

operationId: CustomFields_updateManyValues

Parameters

Name In Required Type Description
companyId path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/value.bulkUpdateRequestCompany"
      }
    }
  },
  "required": true
}

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
409 409 Conflict
POST /projects/api/v3/companies/{companyId}/customfields/bulk/update.json
POST /projects/api/v3/customfields.json

Creates a new custom field. The custom field could have a scope at an installation-level or at a project-level.

operationId: CustomFields_createNewField

Request Body

{
  "$ref": "#/components/requestBodies/customfield.Request"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/customfields.json
POST /projects/api/v3/customfields/bulk/delete.json

Remove multiple custom fields at once.

operationId: CustomFields_deleteManyAtOnce

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/customfield.BulkDeleteRequest"
      }
    }
  },
  "required": true
}

Responses

204 204 No Content (no data)
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
POST /projects/api/v3/customfields/bulk/delete.json
POST /projects/api/v3/projects/{projectId}/customfields.json

Add a project custom field value.

operationId: CustomFields_addValue

Parameters

Name In Required Type Description
projectId path required integer

Request Body

{
  "$ref": "#/components/requestBodies/value.requestProject"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/projects/{projectId}/customfields.json
POST /projects/api/v3/projects/{projectId}/customfields/bulk/delete.json

Remove many entries of project custom field values at once.

operationId: CustomFields_deleteManyValues

Parameters

Name In Required Type Description
projectId path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/value.bulkDeleteRequestProject"
      }
    }
  },
  "required": true
}

Responses

204 204 No Content (no data)
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
POST /projects/api/v3/projects/{projectId}/customfields/bulk/delete.json
POST /projects/api/v3/projects/{projectId}/customfields/bulk/update.json

Edit many entries of project custom field values at once.

operationId: CustomFields_updateManyValues

Parameters

Name In Required Type Description
projectId path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/value.bulkUpdateRequestProject"
      }
    }
  },
  "required": true
}

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
409 409 Conflict
POST /projects/api/v3/projects/{projectId}/customfields/bulk/update.json
POST /projects/api/v3/tasks/{taskId}/customfields.json

Add a task custom field value.

operationId: CustomFields_addTaskCustomFieldValue

Parameters

Name In Required Type Description
taskId path required integer

Request Body

{
  "$ref": "#/components/requestBodies/value.requestTask"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/tasks/{taskId}/customfields.json
POST /projects/api/v3/tasks/{taskId}/customfields/bulk/delete.json

Remove many entries of task custom field values at once.

operationId: CustomFields_deleteManyTaskCustomFieldValues

Parameters

Name In Required Type Description
taskId path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/value.bulkDeleteRequestTask"
      }
    }
  },
  "required": true
}

Responses

204 204 No Content (no data)
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
POST /projects/api/v3/tasks/{taskId}/customfields/bulk/delete.json
POST /projects/api/v3/tasks/{taskId}/customfields/bulk/update.json

Edit many entries of task custom field values at once.

operationId: CustomFields_updateManyValues

Parameters

Name In Required Type Description
taskId path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/value.bulkUpdateRequestTask"
      }
    }
  },
  "required": true
}

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
409 409 Conflict
POST /projects/api/v3/tasks/{taskId}/customfields/bulk/update.json

Forms 1 endpoints

POST /projects/api/v3/forms.json
operationId: Forms_createNewForm

Request Body

{
  "$ref": "#/components/requestBodies/form.Request"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
409 409 Conflict
POST /projects/api/v3/forms.json

Formspublic 1 endpoints

POST /projects/api/v3/forms/{formID}/copy.json
operationId: FormsPublic_copyForm

Parameters

Name In Required Type Description
formID path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/form.CopyRequest"
      }
    }
  },
  "required": true
}

Responses

200 200 OK
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
POST /projects/api/v3/forms/{formID}/copy.json

Notebooks 1 endpoints

POST /projects/api/v3/projects/{projectId}/notebooks.json
operationId: Notebooks_createNewNotebook

Parameters

Name In Required Type Description
projectId path required integer
getEmoji query optional boolean parse emojis to unicode
include query optional array include
fields[users] query optional array
fields[teams] query optional array
fields[tags] query optional array
fields[projects] query optional array
fields[notebooks] query optional array
fields[notebookCategories] query optional array
fields[companies] query optional array

Request Body

{
  "$ref": "#/components/requestBodies/notebook.Request"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/projects/{projectId}/notebooks.json

Tags 2 endpoints

POST /projects/api/v3/tags.json

Creates a new tag. If there's already a tag with the same name in the installation, it will be returned in the response with the status code 200 (OK).

operationId: Tags_createTag

Request Body

{
  "$ref": "#/components/requestBodies/tag.Request"
}

Responses

200 200 OK
201 201 Created
400 400 Bad Request
403 403 Forbidden
409 409 Conflict
POST /projects/api/v3/tags.json
POST /projects/api/v3/tags/bulk/delete.json

Removes many tags at once.

operationId: Tags_deleteManyTags

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/tag.BulkDeleteRequest"
      }
    }
  },
  "required": true
}

Responses

204 204 No Content (no data)
400 400 Bad Request
403 403 Forbidden
404 404 Not Found (no data)
POST /projects/api/v3/tags/bulk/delete.json

Tasks 2 endpoints

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

Create a new task in the provided task list.

operationId: Tasks_createNewTask

Parameters

Name In Required Type Description
tasklistId path required integer

Request Body

{
  "$ref": "#/components/requestBodies/task.Request"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/tasklists/{tasklistId}/tasks.json
POST /projects/api/v3/tasks/{taskId}/subtasks.json

Create a new subtask under the provided parent task.

operationId: Tasks_createSubtask

Parameters

Name In Required Type Description
taskId path required integer

Request Body

{
  "$ref": "#/components/requestBodies/task.Request"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/tasks/{taskId}/subtasks.json

Timetracking 3 endpoints

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

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

operationId: TimeTracking_createNewTimer

Request Body

{
  "$ref": "#/components/requestBodies/timer.Request"
}

Responses

200 200 OK
201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/me/timers.json
POST /projects/api/v3/projects/{projectId}/time.json

Create a time entry in the desired project.

operationId: TimeTracking_createEntry

Parameters

Name In Required Type Description
projectId path required integer

Request Body

{
  "$ref": "#/components/requestBodies/timelog.Request"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/projects/{projectId}/time.json
POST /projects/api/v3/tasks/{taskId}/time.json

Create a time entry linked to the desired task.

operationId: TimeTracking_createLinkedEntry

Parameters

Name In Required Type Description
taskId path required integer

Request Body

{
  "$ref": "#/components/requestBodies/timelog.Request"
}

Responses

201 201 Created
400 400 Bad Request
403 403 Forbidden
POST /projects/api/v3/tasks/{taskId}/time.json

Schemas

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